2011-04-30 2 views
29

Я хотел бы реализовать ExpandableListView, который следует расширять только после того, как все значения были установлены в адаптере. Кроме того, я хотел бы иметь возможность отключить свертывание расширителя.Как отключить свертывание ExpandableListView?

Могу ли я достичь этого в формате XML для Android?

С уважением,
Jabeer Али

ответ

93

Вы можете определить OnGroupClickListener, который возвращает true, например, так:

expandableList.setOnGroupClickListener(new OnGroupClickListener() { 
    @Override 
    public boolean onGroupClick(ExpandableListView parent, View v, 
           int groupPosition, long id) { 
    return true; // This way the expander cannot be collapsed 
    } 
}); 
6

Там нет никакого способа, что я знаю, что это должно быть сделано из XML.

Вы можете добавить OnGroupClickListener к ExpandableListView, и потреблять его событие, если группа уже расширена:

myExpandableListView.setOnGroupClickListener(new OnGroupClickListener() 
{ 
    @Override 
    public boolean onGroupClick(ExpandableListView parent, 
     View v, int groupPosition, long id) 
    { 
     return parent.isGroupExpanded(groupPosition); 
    } 
}); 
+0

Thank вы очень. Но я внес некоторые изменения в это, и это сработало, чтобы не собрать список – Jabeer

+0

Большое спасибо. Но я сделал некоторые изменения к нему, и он работал не collepse в listid.setOnGroupCollapseListener (новый OnGroupCollapseListener() { \t \t \t \t \t \t общественного недействительными onGroupCollapse (интермедиат идентификатор) { \t \t \t \t // TODO Auto- генерируется метод заглушки \t \t \t \t ExpandableListView расширить = (ExpandableListView) findViewById (R.id.expandableListView1); \t \t \t \t expand.expandGroup (ID); \t \t \t} \t \t}); – Jabeer

+0

вас очень огорчает. Но я внес некоторые изменения в него, и это сработало, чтобы не собрать listid.setOnGroupCollapseListener (новый OnGroupCollapseListener() {public void onGroupCollapse (int id) {// TODO Автоматически сгенерированный метод stub ExpandableListView expand = (ExpandableListView) findViewById (R. id.expandableListView1); expand.expandGroup (id);}}); – Jabeer

Смежные вопросы