9

私はアンドロイド開発が初めてで、拡張可能なリストビューも初めて使用しています。Webサービスからd展開可能なリストビューのすべてのコンテンツを取得するアプリを作成しています。wevservice からもすべてのコンテンツを取得しますが、展開可能なリストビューに親の子がない場合、展開可能なリストビュー getchildcount () のカスタム アダプター merhod は null を返し、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();
}
4

1 に答える 1

16

次のように、空の子配列を初期化するだけです。

private HashMap<String, ArrayList<String>> mGroupsItems =
        new HashMap<String, ArrayList<String>>();
. . .
mGroupsItems.put(name_of_empty_group, new ArrayList<String>());
于 2013-09-11T16:27:43.190 に答える