#android #expandablelistview
#Android #расширяемый список
Вопрос:
Я хотел бы реализовать ExpandableListView
который должен быть расширяемым только после того, как все значения были установлены в адаптере. Также я хотел бы иметь возможность отключить свертывание расширителя.
Могу ли я достичь этого в XML-макете Android?
Ответ №1:
Вы можете определить, 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
}
});
Ответ №2:
Я не знаю, как это можно сделать из xml.
Вы могли бы добавить OnGroupClickListener
в ExpandableListView
и использовать его событие, если группа уже расширена:
myExpandableListView.setOnGroupClickListener(new OnGroupClickListener()
{
@Override
public boolean onGroupClick(ExpandableListView parent,
View v, int groupPosition, long id)
{
return parent.isGroupExpanded(groupPosition);
}
});
Комментарии:
1. Большое вам спасибо. Но я внес в него некоторые изменения, и это сработало, чтобы не собирать список
2. Большое вам спасибо. Но я внес в него некоторые изменения, и это сработало из-за того, что я не собирал список.setOnGroupCollapseListener(new OnGroupCollapseListener() { public void onGroupCollapse(int id) { // Автоматически сгенерированная заглушка метода TODO ExpandableListView expand=(ExpandableListView) findViewById(R.id.expandableListView1); развернуть. expandGroup(идентификатор); } });
3. я тебя очень благодарю. Но я внес в него некоторые изменения, и это сработало из-за того, что я не собирал список.setOnGroupCollapseListener(new OnGroupCollapseListener() { public void onGroupCollapse(int id) { // Автоматически сгенерированная заглушка метода TODO ExpandableListView expand=(ExpandableListView) findViewById(R.id.expandableListView1); развернуть. expandGroup(идентификатор); } });
4. Вы должны опубликовать свое решение здесь, и вы сможете принять его через 48 часов. Вы должны это сделать, чтобы закрыть этот вопрос. Пожалуйста, обратите внимание, однако, что с вашим решением список будет сворачиваться и сразу после этого расширять каждую группу, так что может быть много потерь. Используя событие click, вы предотвращаете свертывание списка.
5. Я знаю, что я предотвращаю событие click. Но мое требование заключается в таком способе. Мне приходится постоянно расширять свой расширяемый список. ИТАК, у меня есть событие предотвращения свертывания. Можете ли вы указать, как развернуть расширяемый список в самом начале.