我有这样的组布局:
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="6dp"
android:background="@color/listViewItemBackground">
<TextView
android:id="@+id/tvGroupName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.Medium"
android:singleLine="false"
android:layout_weight="1" />
<ImageView
android:id="@+id/ivGroupIcon"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
</LinearLayout>
在我的ViewHolder getGroupView
中,我做了:
if (group.children != null && group.children.size() > 0) {
if (isExpanded) {
holder.ivGroupIcon.setImageResource(R.drawable.group_up);
} else {
holder.ivGroupIcon.setImageResource(R.drawable.group_down);
}
}
我有4组,只有2组有孩子。当我展开/折叠各个组时,没有孩子的组也会显示一个图标。
这是Android问题还是我的代码有问题?
答案 0 :(得分:1)
您可以使用else
部分:
if (group.children != null && group.children.size() > 0) {
if (isExpanded) {
holder.ivGroupIcon.setImageResource(R.drawable.group_up);
} else {
holder.ivGroupIcon.setImageResource(R.drawable.group_down);
}
} else {
holder.ivGroupIcon.setImageDrawable(null);
}