Reputation: 673
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
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