【问题标题】:Behaviour of Listview not be totally clickableListview 的行为不是完全可点击的
【发布时间】:2015-07-17 09:21:48
【问题描述】:

我正在使用 Listview,其中包含一些视图,如 imageview、textviews 和按钮。我正在使用

onItemClick(AdapterView<?> parent, View view, int position, long id)

处理列表项的点击事件。但是,尽管单击有效,但它不适用于所有行。由于一些奇怪的原因,我无法单击项目 28 和 29。我怎样才能让这些行也可以单击。谢谢。

【问题讨论】:

  • 默认情况下按钮是可点击的,所以行有按钮不会触发onItemClick。也许这是你的问题。
  • 所有行都有按钮,但问题是有些是可点击的,有些则不是。我只是不明白这种行为。
  • 你能添加你的适配器和项目布局代码吗?
  • 你能发布你的列表视图布局和适配器布局吗?

标签: android android-listview onitemclicklistener


【解决方案1】:

通过在listview元素的父布局中添加这些行来解决

android:baselineAligned="false"
android:descendantFocusability="blocksDescendants"

并在您使用的文本视图、图像视图和按钮中添加这些行

android:clickable="false"
android:focuseable="false"
android:focuseableInTouchMode="false"

【讨论】:

  • 感谢您的快速回复。对于 listView 中的其他视图,我无法将 clickable 设置为 false,因为我需要它们可点击以执行其他操作。有没有办法让列表视图中的每一行都可以点击,子视图也可以点击?谢谢
  • 然后直接在适配器按钮或imageview或textview setonClickListener中使用。这将工作
【解决方案2】:

感谢大家的帮助。我没有做太多,但我知道了某些行不可点击的原因。每当其他可点击视图(如 imageView 或按钮)从我的数据库中分配给空值时,该行就会变得不可点击。只要有值或数据来填充这些视图,该行就可以点击。

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 2015-05-04
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-16
    相关资源
    最近更新 更多