一次仅显示可展开列表的一个子项
是否有可能一次只展开ExpandableListView
一个子项,打开第二个子项会closures以前打开的子项?
我没有意识到任何自动方法,但你可以实现ExpandableListView.OnGroupClickListener
,在所有列表组中运行collapseGroup()
,除了被单击的列表组。 这将做你想要的。
只是为了确认bos在代码中的回答:
expandableList.setOnGroupExpandListener(new OnGroupExpandListener() { int previousGroup = -1; @Override public void onGroupExpand(int groupPosition) { if(groupPosition != previousGroup) expandableList.collapseGroup(previousGroup); previousGroup = groupPosition; } });
你也可以简单地使用withOnlyOneExpandedItem()
这是在mikepenz的FastAdapter外部库中
例如,我在我的抽屉中使用它
drawer.getAdapter().withOnlyOneExpandedItem(true);
你可以使用这个为各种条件,你想做的扩展名单 –
expList.setOnChildClickListener(new OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView parent, View v, int childGroupPosition, int childPosition, long id) { // Log.e("OnChildClickListener", "OK "+childGroupPosition+" "+childPosition);javainterviewquestion if(childGroupPosition ==0 && childPosition == 0) { } if(childGroupPosition ==0 && childPosition == 1) { } return false; } });