【问题标题】:How to get the value of boolean array in android java?如何在android java中获取布尔数组的值?
【发布时间】:2015-01-07 14:35:57
【问题描述】:

我在我的适配器类(扩展 ArrayAdapter)中使用一个布尔数组来存储检查过的 checkox 位置。当我在 logcat 中打印它时,每次我选中一个复选框时它都会打印 [Z@42067480。这是什么意思?如何对此进行解码以获得特定检查位置的值?我是新来的。 此外,是否有任何其他替代方法来存储自定义列表视图的已检查项目位置。

【问题讨论】:

    标签: android listview checkbox


    【解决方案1】:

    我认为您将整个布尔数组打印为字符串,而不是我在下面只给您一个示例,您可以相应地更改它。我正在使用两种类型的 for 循环。你可以选择其中之一。

      boolean []arr={true,false,true,true};
    
    
                for(boolean boolean1:arr)
                {
                    Log.e("",""+boolean1);          
                }
    

    for (int i = 0; i < arr.length; i++) {
                Log.e("",""+arr[i]);
            }
    

    您可以在迭代布尔数组的循环中将数据存储在 arraylist 中,也可以创建另一个。这取决于您的选择。我使用了现有的 for 循环。您可以根据需要创建新的。

     ArrayList<Boolean> booleans=new ArrayList<Boolean>();
    
                for (int i = 0; i < arr.length; i++) {
                    Log.e("",""+arr[i]);
                    booleans.add(arr[i]);
                }
    

    for (boolean b:arr) {
                    Log.e("",""+b);
                    booleans.add(b);
                }
    

    如有任何疑问,请发表评论。

    【讨论】:

    • 谢谢它对我有用。现在如果我必须将此数组存储在 ArrayList 中该怎么办。我希望这个 arraylist 值进入我的主要活动。
    • 谢谢它的工作。我会在一段时间内向您发布更多查询。
    • 如果您喜欢我的回答,请点赞。提前感谢 user3667581。
    • 如何在选择任何单个复选框(如 gmail 应用程序)时打开 CAB?
    • 请详细说明您想做什么。出租车?谢谢。
    【解决方案2】:

    你看到的是数组的内存位置;你可能在做myArray.toString(),这就是为什么你看到所有索引都一样。

    至于存储复选框状态的最佳方式,您可能应该使用SparseArray

    【讨论】:

      【解决方案3】:

      您必须打印复选框本身的值。打印 checkbox.isChecked()。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-13
        • 2015-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-17
        • 1970-01-01
        相关资源
        最近更新 更多