【问题标题】:Error in getting result from Checkbox in ExpandableListView从 ExpandableListView 中的复选框获取结果时出错
【发布时间】:2020-06-06 02:50:26
【问题描述】:

我是 Android 开发的新手。 我正在尝试从选中复选框的 ChildList (expandableListView) 中获取 textView,但在运行代码时出现空引用错误。你能帮忙吗? 以下是错误

尝试在空对象引用上调用虚拟方法“java.lang.String java.util.ArrayList.toString()”

以下是代码摘录。

我在主要活动中调用它来获取选中复选框的文本数组列表。

public String getSelectedItems(int mGroupPosition)
{
    boolean getChecked[] = mChildCheckStates.get(mGroupPosition);
    ArrayList<String> selectedList = null;
    if(getChecked != null) {
        for (int j = 0; j < getChecked.length; ++j) {
            if (getChecked[j] == true) {
                String selectedItem =  mListDataChild.get(j).toString();
                selectedList.add(selectedItem);
            }
        }
    }
    return selectedList.toString();
}

主活动中的代码

selectedButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ArrayList<String> selectedItemsList = null;
                for (int mGroupPosition = 0; mGroupPosition<listAdapter.getGroupCount(); mGroupPosition++){
                    selectedItemsList.add(listAdapter.getSelectedItems(mGroupPosition));
                }
                Log.i("selected Items",selectedItemsList.toString());
            }
        });

【问题讨论】:

    标签: android checkbox expandablelistview


    【解决方案1】:

    用空数组列表初始化 selectedList 以避免 NullPointer 异常

    ArrayList<String> selectedList = new ArrayList<String>();
    

    ArrayList<String> selectedItemsList = new ArrayList<String>();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多