禁用ExpandableListView的折叠

时间:2010-08-11 19:53:33

标签: android android-widget expandablelistview

ExpandableListView的默认行为是在单击其标题时折叠组。是否可以防止这种情况发生?

我试过了:

  • 在列表中设置OnTouchListener。这会干扰滚动。
  • 在列表中设置OnGroupClickListener(在onCreate()中)。这适用于之后的所有点击

还有其他人完成了这个吗?为什么OnGroupClickListener会错过第一次点击?

提前感谢您的建议。

4 个答案:

答案 0 :(得分:31)

您可以忽略点击这样的群组项目:

mMyExpandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
  @Override
  public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
      // Doing nothing
    return true;
  }
});

答案 1 :(得分:15)

也许为时已晚,我在活动中使用onGroupCollapseListener并实现onGroupCollapse方法。(expandView是ExpandableListView)

@Override
public void onGroupCollapse(int collapseIndex) {
    expandView.expandGroup(collapseIndex);
}

答案 2 :(得分:3)

您可以在要禁用其的项目上使用此代码: {convertView.setClickable(false);}

答案 3 :(得分:2)

似乎问题与组头中的可聚焦元素和OnGroupClickListener集都有关。删除监听器解决了我的问题。