可扩展的listview组视图指示符显示在错误的组中

时间:2015-06-28 15:50:29

标签: android

我有这样的组布局:

<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问题还是我的代码有问题?

1 个答案:

答案 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);
    }