没有孩子的可扩展列表视图

时间:2013-04-22 17:30:47

标签: android nullpointerexception expandablelistadapter

我是Android开发的新手,也是第一次使用可扩展的listview。我正在创建一个应用程序,在其中我从webservice获取d expandable listview的所有内容。我从wevservice获取所有内容,但是当可扩展listview中没有父节点的子节点时,可扩展listview的自定义适配器merhod getchildcount()返回null并给出空指针异常我如何才能在列表中仅显示父节点没有孩子,两者都可用?

谢谢

public View getChildView(int p_id, int c_id, boolean bln1, View view,ViewGroup viewgroup) {
    // TODO Auto-generated method stub

     if (view == null) {
            view = inflater.inflate(com.example.eventlive.R.layout.homescreen_list_item_child, viewgroup,false);
        }

        TextView textView = (TextView) view.findViewById(R.id.list_item_text_child);
        //"i" is the position of the parent/group in the list and 
        //"i1" is the position of the child
        textView.setText(mParent.get(p_id).getArrayChildren().get(c_id));
        view.setBackgroundResource(R.drawable.child_bg);
        //return the entire view
        return view;
}

//counts the number of children items so the list knows how many times calls getChildView() method
@Override
public int getChildrenCount(int p_id) {
    // TODO Auto-generated method stub
    return mParent.get(p_id).getArrayChildren().size();
}

1 个答案:

答案 0 :(得分:16)

只需初始化一个空的子数组:

private HashMap<String, ArrayList<String>> mGroupsItems =
        new HashMap<String, ArrayList<String>>();
. . .
mGroupsItems.put(name_of_empty_group, new ArrayList<String>());