Android 打开ExpandableListView组时崩溃

Android 打开ExpandableListView组时崩溃,android,list,arraylist,nullpointerexception,expandablelistview,Android,List,Arraylist,Nullpointerexception,Expandablelistview,我正在尝试在ExpandableListView中创建一个小组 我声明了一个列表数组,它表示每个组的列表元素 List<MarkCell>[] voti_materia; 在ExpandableListAdapter的此功能上 @Override public int getChildrenCount(int groupPosition) { return this._listDataChild.get(this._listDataHeader.get(groupPosit

我正在尝试在ExpandableListView中创建一个小组

我声明了一个列表数组,它表示每个组的列表元素

List<MarkCell>[] voti_materia;
在ExpandableListAdapter的此功能上

@Override
public int getChildrenCount(int groupPosition) {
    return this._listDataChild.get(this._listDataHeader.get(groupPosition))
            .size();
}
_listDataChild声明为

private HashMap<String, List<MarkCell>> _listDataChild;
private HashMap\u listDataChild;

我不明白为什么它会崩溃。。。有人能帮我吗?谢谢大家

已解决

我忘了放

listDataChild.put(listDataHeader.get(1), voti_materia[1]); 
在索引为i的for中:(


for(int i=0;i尝试放置断点并遍历,确保
\u listDataChild
中的值正确it@AESolutions您应该发布完整的stacktrace,但是根据您发布的内容,您应该调试getChildrenCount()中返回的内容。特别是如果没有从_listDataChild获得任何信息,我发布了完整的stacktrace…它向我显示_listDataChild的大小为1(应该是4),这是错误,但我不知道为什么它只有1个元素您在哪里填充
\u listDataChild
?这是自动的…当我创建适配器时,它会调用该函数
private HashMap<String, List<MarkCell>> _listDataChild;
listDataChild.put(listDataHeader.get(1), voti_materia[1]); 
for(int i=0; i<subjects.getCount();i++){
        voti_materia[i] = new ArrayList<>(i);
        listDataHeader.add(subjects.getItemAtPosition(i).toString());
        listDataChild.put(listDataHeader.get(i), voti_materia[i]); // Header, Child data
}