当试图从我的
ListView
。我认为这是因为我的ListView正在尝试获取不存在的子视图,但我不知道如何防止这种情况,因为我的可扩展ListView需要子视图。
java.lang.NullPointerException
at com.hello.ExpandableListAdapter.getChildrenCount(ExpandableListAdapter.java:89)
at android.widget.ExpandableListConnector.refreshExpGroupMetadataList(ExpandableListConnector.java:563)
at android.widget.ExpandableListConnector.access$000(ExpandableListConnector.java:50)
at android.widget.ExpandableListConnector$MyDataSetObserver.onChanged(ExpandableListConnector.java:857)
at android.database.DataSetObservable.notifyChanged(DataSetObservable.java:37)
at android.widget.BaseExpandableListAdapter.notifyDataSetChanged(BaseExpandableListAdapter.java:56)
at com.hello.MainActivity.InactiveAlarmSorter3000(MainActivity.java:301)
at com.hello.MainActivity.doPositiveClick(MainActivity.java:315)
at com.hello.ArmAlarmFragment$2.onClick(ArmAlarmFragment.java:32)
Logcat声明错误来自我的可扩展列表适配器中的此方法,但我不知道如何防止此方法返回null。
@Override
public int getChildrenCount(int groupPosition) {
String test = listDataChild.get(listDataHeader.get(groupPosition)) + "";
Log.d("Debugd", groupPosition + "");
Log.d("Debugd", listDataChild + "hi");
Log.d("Debugd", listDataHeader + "bye");
Log.d("Debugd", test);
return this.listDataChild.get(listDataHeader.get(groupPosition)).size();
}
调用方法的位置。
public void StuffSorter3000(String header) {
Log.d("testingthis", header);
if (header.equals("SomeStuff")) {
loadActiveList(header);
}
if (header.equals("OtherStuff")) {
loadActiveList(header);
}
ActiveList.notifyDataSetChanged();
listAdapter.notifyDataSetChanged();
}
执行添加/删除的方法
public void loadActiveList(String variable) {
listDataHeaderActive.add(variable);
listDataHeaderInactive.remove(variable);
}
添加变量效果很好,项目显示在ArrayList中,但是从其他ArrayList删除变量会崩溃。
**变量
header
方法开头不为空。