我使用expandableListView进行UI设计,所以我想知道Android扩展列表视图,有没有办法只允许扩展一个列表项,即当你点击并展开一个项目时,所有其他项目都会自动折叠。
由于
答案 0 :(得分:10)
当您点击一个项目时,您可以遍历其余项目并折叠每个项目,除了您刚刚点击的项目...
list.setOnGroupExpandListener(new OnGroupExpandListener() {
public void onGroupExpand(int groupPosition) {
int len = mAdapter.getGroupCount();
for(int i=0; i<len; i++) {
if(i != groupPosition) {
list.collapseGroup(i);
}
}
}
});
答案 1 :(得分:1)
你可以像kieran建议的那样做,或者如果你一次只打开一个,你可以跟踪你最后一次点击的那个。您可以通过在类主体中声明int lastclicked
然后在听众中声明为韩语建议,放置list.collapseGroup(lastclicked)
我会给出一个代码示例,但我在移动设备上。遗憾。
但我个人更喜欢使用lastclicked方法而不是使用for循环。它似乎更有效率。
答案 2 :(得分:0)
首先在您的Activity中实现OnGroupExpandListener,允许您添加其默认方法,并在添加默认方法后,您需要这样做:
@Override
public void onGroupExpand(int groupPosition) {
// TODO Auto-generated method stub
int len = expadapter.getGroupCount();
for(int i=0;i<len;i++)
{
if(i!=groupPosition)
{
expandlst.collapseGroup(i);
}
}
}