有没有办法在同一个列表视图中显示可扩展列表和不可扩展列表? 我试图实现的是有可扩展的列表视图,但对于没有子项目的项目,我不想显示箭头展开箭头图标 我该如何做到这一点?请帮助 感谢如何显示可扩展列表视图和单列表视图
编辑:所有我想要的是能够隐藏指示箭头当组为空
有没有办法在同一个列表视图中显示可扩展列表和不可扩展列表? 我试图实现的是有可扩展的列表视图,但对于没有子项目的项目,我不想显示箭头展开箭头图标 我该如何做到这一点?请帮助 感谢如何显示可扩展列表视图和单列表视图
编辑:所有我想要的是能够隐藏指示箭头当组为空
1)基本上,当组没有孩子时,你必须隐藏“展开箭头”。 您可以通过将GroupIndicator
属性设置为null来实现此目的。
对于前:getExpandableListView().setGroupIndicator(null);
OR
2)通过检查孩子们指望你可以设置如下面的代码的指标,
if (getChildrenCount(groupPosition) == 0) {
indicator.setVisibility(View.INVISIBLE);
} else {
indicator.setVisibility(View.VISIBLE);
indicator.setImageResource(isExpanded ? R.drawable.list_group_expanded : R.drawable.list_group_closed);
}
有关隐藏组指标的详细信息,你可以参考this link。
OR
3)创建绘制文件夹中的文件group_indicator.xml
<item android:state_empty="true" android:drawable="@android:color/transparent"></item>
<item android:state_expanded="true" android:drawable="@drawable/arrowdown"></item>
<item android:drawable="@drawable/arrowright"></item>
然后,定义如下面的代码扩展列表视图,
<ExpandableListView
android:id="@+id/android:list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:groupIndicator="@drawable/group_indicator"
android:layout_weight="1" >
</ExpandableListView>
希望这将解决你的问题。
是。您可以。
这个类有下一个方法: getGroupTypeCount()和getGroupType(INT groupPosition)
,你应该重写。
以简单的方式,你有两种类型的项目。例如可扩展(类型1)和不可扩展(类型2)。
getGroupTypeCount()shoul return 2;
重写getGroupView(int groupPosition,boolean isExpanded,View convertView,ViewGroup parent) 在此方法中按项目的位置检查项目的类型。 如果item不可扩展,您应该生成View,它的外观与扩展与否无关。
我觉得这很简单。
谢谢,不确定我是否在getgroupview方面得到了重点,并且一个示例会非常有用 – Snake
这确实是我正在寻找的。最后一个建议不会工作,因为它总是处于空状态,这是由android的限制(实际上他们说这是出于性能原因) – Snake
但是,在您的第一个建议,将其设置为null将禁用整个列表 – Snake