【问题标题】:ListView divider not showing [duplicate]ListView 分隔线未显示 [重复]
【发布时间】:2011-04-07 21:23:34
【问题描述】:

我有一个带有 BaseAdapter 的 ListView。在 XML 中,我将项目分隔符指定为红色,高度为 10dip。

    <ListView android:layout_width="fill_parent"
                android:layout_height="0px"
                android:id="@+id/lv"
                android:layout_weight="1"
                android:cacheColorHint="#00000000"
                android:divider="#FF0000"
                android:dividerHeight="10dip"
                android:fadingEdge="none">
    </ListView>

但是,当应用程序运行时,我没有看到项目之间的红色分隔线。有人能告诉我为什么吗?谢谢。

编辑:在我的适配器代码中,我有以下代码:

@Override
public boolean areAllItemsEnabled() {
    return false;
}

@Override
public boolean isEnabled(int position) {
    return false;
}

因为我想控制每个项目的 onClick 行为。不知道上面的代码是否让分隔线消失了。

【问题讨论】:

  • 可能是 android:layout_height="0px" 可能是个问题。
  • 列表视图在线性布局中。项目显示正确,但没有显示分隔线。
  • 设置 layout_height="0dip" 或类似设置是正确的,当您还在垂直 LinearLayout 中设置 layout_weight 时,因为您希望它消耗可用空间。
  • 即使我将 android:layout_height="0px" 更改为 android:layout_height="fill_parent" 后,我仍然没有看到分隔线。
  • 我刚刚发现,为 isEnabled 返回 false 是分隔线没有出现的原因。感谢您的帮助,朋友们。

标签: android


【解决方案1】:

布局很好,应该可以工作。我只是自己测试了它,它确实对我有用。 尝试查看列表项布局或列表活动类中的内容。

如果这不起作用,我建议从样本中创建一个普通列表,并为列表提供这些属性,然后看看发生了什么。

阿奇。

【讨论】:

  • 我刚刚发现,为 isEnabled 返回 false 是没有显示分隔线的原因。
  • 是否可以将 isEnabled 设置为 false,但仍显示分隔符?编辑:没关系。您可以将 listSelector 设置为透明。想知道是否有其他方法可以做到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-11
  • 1970-01-01
  • 2015-01-08
  • 2020-05-14
  • 1970-01-01
  • 1970-01-01
  • 2013-12-05
相关资源
最近更新 更多