ListView项目不能用Horizo​​ntalScrollView里面单击

Fel*_*lix 6 android listview

我有一个很复杂的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似乎有效.我想知道是否还有其他方法:如果我想在我的列表项中使用可聚焦项目怎么办?

Fel*_*lix 8

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