android - 可扩展的 ListView 组 View 指示器显示在错误的组中

标签 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 个小组有 child 。当我展开/折叠各个组时,没有 child 的组也会显示一个图标。

这是 Android 问题还是我的代码有问题?

最佳答案

您可能会使用 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);
    }

关于android - 可扩展的 ListView 组 View 指示器显示在错误的组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31101720/

相关文章:

android - 为上一个项目编写Gradle

android - 应用与设备不兼容

javascript - 如何格式化 JSON 数据字符串以从 WebView 发送到 JavaScript?

android - 如何防止android中的内存不足错误

android - Galaxy S3 上的 HLS 流式传输

android - Firebase 云消息未收到通知

android - 使用 DiffUtil ListAdapter 时 Recyclerview 没有动画

java - Android:ScrollView 禁用所有按钮和导航

java - 自定义水平滚动动画来跟踪 Android 中 View 上的手指

android - iOS 如何计算滚动条拇指的位置和范围?