作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个相当复杂的 ListView
。每个项目看起来像这样:
> LinearLayout (vertical)
> LinearLayout (horizontal)
> include (horizontal LinearLayout with two TextViews)
> include (ditto)
> include (ditto)
> TextView
> HorizontalScrollView (this guy is my problem)
> LinearLayout (horizontal)
在我的 Activity 中,当创建一个项目时(调用 getView()
),我将动态 TextView
添加到 LinearLayout
中HorizontalScrollView
(除了填充其他更简单的内容)。令人惊讶的是,性能非常好。
我的问题是,当我添加 HorizontalScrollView
时,我的列表项变得不可点击。单击时它们不会获得橙色背景,也不会触发我设置的 OnItemClickedListener
(执行简单的 Log.d
调用)。
如何使我的列表项再次可点击?
编辑: 在最顶层的 LinearLayout
上设置 android:descendantFocusability="blocksDescendants"
似乎可行。不过,我想知道是否还有其他方法:如果我想在列表项中添加可聚焦的项怎么办?
最佳答案
在最顶层的 LinearLayout
上使用 android:descendantFocusability="blocksDescendants"
就成功了。内部元素仍然可以设置为“可点击”,它们只是不可聚焦(即你不能在非触摸屏设备上点击它们)。对我来说足够好了。
关于android - 内部的 HorizontalScrollView 无法单击 ListView 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2985890/
我是一名优秀的程序员,十分优秀!