2010-08-11 36 views
15

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

我已经试过:

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

有没有其他人完成了这个?为什么​​错过了第一次点击?

在此先感谢您的建议。

+0

这适用于我 - > http:// stackov erflow.com/questions/3464599。 – adstro 2010-11-02 17:43:51

+0

尽管有帮助,但该线程并未回答我所述的问题。 – Justin 2010-11-02 19:37:03

回答

2

看来这个问题必须与组头中的可聚焦元素和​​集有关。删除监听器解决了我的问题。

+3

没有为我解决(我甚至没有在第一个地方设置一个)。我在标题中有可点击的元素*,但标题本身不应该是可点击的。 – Matthias 2010-08-18 16:56:01

+0

OnGroupClickListener(null); – 2016-09-15 09:37:25

14

也许它`为时已晚,我在活动中使用onGroupCollapseListener和实施onGroupCollapse方法(expandView是ExpandableListView)

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

完美的工作,谢谢你。 – Davor 2013-07-14 01:07:05

+0

我认为这不应该实施!安德鲁斯的方式更好! – Phuong 2015-05-13 03:37:06

28

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

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

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

+0

完美的代码,如果你想禁用点击特定的条件 – 2016-06-10 10:32:29

相关问题