有没有办法禁用所有父视图,除了在expandable listview Android中单击父视图?

时间:2014-03-17 03:08:07

标签: android listview android-listview

enter image description here

我想创建一个像图片一样的可扩展列表视图。当我点击父1时,子1将显示,父2,3,4,5 ...将禁用。

然后当我点击禁用区域中的任意位置时,父级1将崩溃组()并且可启用扩展列表视图。

有没有办法这样做?

任何帮助将不胜感激!谢谢!

2 个答案:

答案 0 :(得分:1)

你可以设置setOnGroupExpandListener,这样如果该组被epanded折叠了前一个:

//Group Listener Close other groups on opening other one
        expandableListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {
            int previousItem = -1;
            @Override
            public void onGroupExpand(int groupPosition) {
                if (groupPosition != previousItem){
                    expandableListView.collapseGroup(previousItem);
                    previousItem = groupPosition;
                }
                else{
                    expandableListView.collapseGroup(groupPosition);
                    previousItem = -1;
                }
            }
        });

答案 1 :(得分:0)

您只需将此代码放入onCreate方法中即可使用:

声明部分:

int lastExpandedGroupPosition;
ExpandableListView lv_register_festival;

在onCreate中:

lv_register_festival.setOnGroupExpandListener(new OnGroupExpandListener() {

            @Override
            public void onGroupExpand(int groupPosition) {


                if(groupPosition != lastExpandedGroupPosition){
                    lv_register_festival.collapseGroup(lastExpandedGroupPosition);
                }

                lastExpandedGroupPosition = groupPosition;
            }
        });