android – ListView项目不能用Horizo​​ntalScrollView里面点击

前端之家收集整理的这篇文章主要介绍了android – ListView项目不能用Horizo​​ntalScrollView里面点击前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个非常复杂的ListView.每个项目看起来像这样:
> LinearLayout (vertical)
  > LinearLayout (horizontal)
    > include (horizontal LinearLayout with two TextViews)
    > include (ditto)
    > include (ditto)
  > TextView
  > HorizontalScrollView (this guy is my problem)
    > LinearLayout (horizontal)

在我的活动中,当一个项目被创建时(调用getView())我将动态TextViews添加到Horizo​​ntalScrollView内的LinearLayout(除了填充其他更简单的东西).令人惊讶的是,性能非常好.

我的问题是,当我添加Horizo​​ntalScrollView时,我的列表项变得无法点击.单击时它们不会获得橙色背景,并且它们不会触发我设置的OnItemClickedListener(进行简单的Log.d调用).

如何让我的列表项再次可点击?

编辑:在最顶层的LinearLayout上设置android:descendantFocusability =“blocksDescendants”似乎有效.我想知道是否还有其他方法:如果我想在我的列表项中使用可聚焦项目怎么办?

解决方法

在最顶层的LinearLayout上使用android:descendantFocusability =“blocksDescendants”就可以了.里面的元素仍然可以“点击”,它们只是不可聚焦(即你不能在非触摸屏设备上点击它们).对我来说足够好了.

猜你在找的Android相关文章