19

のデフォルトの動作はExpandableListView、ヘッダーがクリックされたときにグループを折りたたむことです。これを防ぐことは可能ですか?

私はもう試した:

  • リストに設定OnTouchListenerします。これはスクロールを妨げます。
  • リストにを設定OnGroupClickListenerします(でonCreate())。これは、最初のクリック以降のすべてのクリックで機能します。

他の誰かがこれを達成しましたか?なぜOnGroupClickListener最初のクリックを逃すのでしょうか?

よろしくお願いします。

4

4 に答える 4

32

次のようなグループアイテムのクリックは無視してかまいません。

mMyExpandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
  @Override
  public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
      // Doing nothing
    return true;
  }
});
于 2012-11-12T16:03:57.560 に答える
15

手遅れかもしれませんが、アクティビティでonGroupCollapseListenerを使用し、onGroupCollapseメソッドを実装しています(expandViewはExpandableListViewです)

@Override
public void onGroupCollapse(int collapseIndex) {
    expandView.expandGroup(collapseIndex);
}
于 2011-09-11T07:01:48.867 に答える
3

次のクリックを無効にするアイテムでこのコードを使用できます。 {convertView.setClickable(false);}

于 2016-02-19T03:50:10.100 に答える
2

問題は、グループヘッダーとOnGroupClickListenerセットの両方にフォーカス可能な要素があることに関係しているようです。リスナーを削除すると、私の問題は解決しました。

于 2010-08-11T21:02:25.903 に答える