android_developer
android_developer

Reputation: 673

Expandable listview without children

I am new to android development and also using expandable listview for the first time. I am creating an app where in I get all the contents of d expandable listview from webservice. I get all contents from the wevservice as well but then when there is no child of a parent in expandable listview the custom adapter merhod of expandable listview getchildcount () returns null and gives a null pointer exception how can I show only parent in the list with no child and both when both are available??

Thank you

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();
}

Upvotes: 9

Views: 6534

Answers (1)

Alexander Zhak
Alexander Zhak

Reputation: 9272

Just initialize an empty children array like this:

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

Upvotes: 16

Related Questions