我有一个很复杂的ListView.每个项目看起来像这样:
> LinearLayout (vertical)
> LinearLayout (horizontal)
> include (horizontal LinearLayout with two TextViews)
> include (ditto)
> include (ditto)
> TextView
> HorizontalScrollView (this guy is my problem)
> LinearLayout (horizontal)
Run Code Online (Sandbox Code Playgroud)
在我的活动中,当一个项目被创建(getView()被称为)时,我将动态TextViews 添加到LinearLayout内部HorizontalScrollView(除了填充其他更简单的东西).令人惊讶的是,性能非常好.
我的问题是,当我添加时HorizontalScrollView,我的列表项变得无法点击.单击时它们不会获得橙色背景,并且它们不会触发OnItemClickedListener我已设置的(进行简单的Log.d调用).
如何让我的列表项再次可点击?
编辑:android:descendantFocusability="blocksDescendants"最顶层的设置LinearLayout似乎有效.我想知道是否还有其他方法:如果我想在我的列表项中使用可聚焦项目怎么办?
android:descendantFocusability="blocksDescendants"在最顶层使用LinearLayout诀窍.里面的元素仍然可以"点击",它们只是不可聚焦(即你不能在非触摸屏设备上点击它们).对我来说足够好了.