0

を含むレイアウトでは、ExpandableListViewの可視性を維持する必要がありViewます。すべてのグループが折りたたまれているときに表示される必要があります。だから私は次のことをしました:

  //class field
  private List<Integer> groupState = null;



 getExpandableListView().setOnGroupExpandListener(
            new OnGroupExpandListener() {

                @Override
                public void onGroupExpand(int arg0) {

                    p.setVisibility(View.GONE);
                    groupState.add(arg0);

                }

            });
    getExpandableListView().setOnGroupCollapseListener(
            new OnGroupCollapseListener() {

                @Override
                public void onGroupCollapse(int groupPosition) {
                    groupState.remove(groupPosition);
                    if (groupState.isEmpty()) {
                        p.setVisibility(View.VISIBLE);
                    }

                }
            });

どのグループがクリックされたかに関係なく、整数を追加しようとした行でNullPointerExceptionが発生してクラッシュします。私は何が間違っているのですか?

ここに画像の説明を入力してください

4

1 に答える 1

2

これが完全なコードである場合、ListgroupStateの適切な初期化が欠落しています。どこかに次のようなものがあるはずです:

groupState = new List<Integer();

または、2行目を次のように変更します。

private List<Integer> groupState = null;

private List<Integer> groupState = new List<Integer();
于 2013-02-07T11:10:28.320 に答える