2010-08-11 115 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