2016-12-21 9 views
0

私はアンドロイドの初心者で、ExpandableListViewを使用しようとしていて、いくつかの問題を抱えていました。子コンポーネントがonGroupClickイベントを2回レンダリングされる

ExpandableListViewのアクティビティにsetOnGroupClickListnerイベントがあります。何らかの理由でグループをクリックするとchildView twiceがレンダリングされ、閉じるには2回クリックする必要があります。クリックするたびにchildViewのいずれかが非表示になります。

以下は、私がonGroupClick機能でreturn trueを書く代わりにreturn falseの場合は今、私は何とかこの問題を解決することができ、私のコード

expandableListView = (ExpandableListView) findViewById(R.id.alarm_list); 

    alist = new Alist(this, headings, childItems); 
    expandableListView.setAdapter(alist); 

    //setting an expand group listener 
    expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() { 
     @Override 
     public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) { 
      Log.e("onGroupClick:", "worked"); 
      parent.expandGroup(groupPosition); 
      return false; 
     } 
    }); 

ました。

問題を解決するためにはどのような影響があるのですか?私はどこかで私がreturn trueなら、それはclick was handledを意味しますが、私はそれが正確に何を意味するのか理解できません。

何か助けていただければ幸いです。ありがとうございます。

答えて

1

私はExpandableListViewを使用していませんが、自動的にあなたのためにsetOnGroupClickListenerを持っている必要はありません。それでもデフォルトの動作を変更する必要がある場合は、自由にオーバーライドできますが、イベントが消費され、デフォルトのイベントが発生しないことを通知するにはtrueを返す必要があります。

+0

ええ、setOnGroupClickListenerは必須ではありません。それもなくても動作します。 –

関連する問題