当我展开一个新组时,我可以折叠最后一个展开吗?以编程方式折叠ExpandableListView中的组
53
A
回答
118
试着把它放在您的ExpandableListAdapter
,listView
是对ExpandableListView
本身的参考。而lastExpandedGroupPosition
是在ExpandableListAdapter
中定义的整数成员变量。
@Override
public void onGroupExpanded(int groupPosition){
//collapse the old expanded group, if not the same
//as new group to expand
if(groupPosition != lastExpandedGroupPosition){
listView.collapseGroup(lastExpandedGroupPosition);
}
super.onGroupExpanded(groupPosition);
lastExpandedGroupPosition = groupPosition;
}
4
这样做是为了扩大点击组,并折叠所有其他
public void onGroupExpand(int groupPosition)
{
for (int i = 0; i < len; i++)
{
if (i != groupPosition)
{
expandableListDetailsLevel.collapseGroup(i);
}
}
}
它为我工作。
20
非常有帮助,但作为Anh Tuan在上面的评论中提到,我遇到了ExpandableListView的问题,然后滚动回当前选择的组的顶部(它将停留在当前滚动的位置,在组在某处)。您还需要添加一个onGroupClickListener()滚动到正确的位置:
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition,
long id) {
// Implement this method to scroll to the correct position as this doesn't
// happen automatically if we override onGroupExpand() as above
parent.smoothScrollToPosition(groupPosition);
// Need default behaviour here otherwise group does not get expanded/collapsed
// on click
if (parent.isGroupExpanded(groupPosition)) {
parent.collapseGroup(groupPosition);
} else {
parent.expandGroup(groupPosition);
}
return true;
}
2
@Override
public void onGroupExpanded(int groupPosition) {
for(int i=0;i<mGroupCollection.size();i++){
if(i==groupPosition){
System.out.println("Nothing");
}
else{
mExpandableListView.collapseGroup(i);
}
}
super.onGroupExpanded(groupPosition);
}
17
This工作对我来说
expandableList.setOnGroupExpandListener(new OnGroupExpandListener() {
int previousItem = -1;
@Override
public void onGroupExpand(int groupPosition) {
if(groupPosition != previousItem)
expandableList.collapseGroup(previousItem);
previousItem = groupPosition;
}
});
相关问题
- 1. 禁用ExpandableListView的折叠
- 2. 在Silverlight中如何以编程方式折叠Expander?
- 3. 以编程方式折叠或展开报表服务中的选定组
- 4. ExpandableListView展开和折叠
- 5. ExpandableListView折叠所有父项
- 6. 以编程方式更改jQuery Mobile的可折叠集
- 7. Android:以编程方式折叠并展开CollapsingToolbarLayout
- 8. Bootstrap 3以编程方式折叠面板
- 9. WPF功能区折叠并以编程方式扩展
- 10. 以折叠方式折叠动态添加的制表符
- 11. 为什么折叠ExpandableListView组取消选中我的CheckBoxes?
- 12. expandablelistview不同风格的展开/折叠
- 13. 以编程方式展开/折叠Outlook导航窗格中的文件夹
- 14. 以编程方式分析折线图
- 15. 请勿以这种方式折叠
- 16. Aptana折叠/折叠方法?
- 17. 可以以编程方式展开或折叠kendo甘特图任务吗?
- 18. 如何在WPF中以编程方式显示折叠选项卡项目?
- 19. ASP .NET C# - 以编程方式展开/折叠AJAX手风琴窗格?
- 20. 如何以编程方式执行ExpandableListView子项目单击
- 21. 可以折叠
- 22. 根据传递的Cursor值在ExpandableListView中展开/折叠组节点?
- 23. 以编程方式在matplotlib中绘制叠加的偏移图
- 24. 以编程方式从MP4中获取不重叠的图像
- 25. 以编程方式在产品列表中应用折扣价
- 26. OnTouchEvent方法重叠setOnItemLongClickListener在ExpandableListView中
- 27. 设置叠起来的布局以编程方式在Android的
- 28. 以编程方式添加Azure组件
- 29. CKEDITOR 4如何定义折叠和不折叠的按钮组?
- 30. 函数式编程,斯卡拉地图和左侧折叠
哇人,当场! :) 非常感谢你! :D – 2010-11-30 16:07:35
没问题。一段时间后,这是为了一个应用程序。很高兴它可以帮助别人。 – danh32 2010-11-30 16:48:14
解决方案存在问题:新展开的组将被滚动至最后一个组的高度(已关闭)。不过谢谢。 – 2012-02-27 05:00:34