ListView addHeader() - 当点击标题中的任何位置时,所有子视图都会聚焦?

时间:2011-08-26 01:57:16

标签: android

我有一个ListView。我想添加一个标题视图,它有两个可调焦的控件:

<LinearLayout
  android:layout_width="fill_parent"
  android:layout_width="wrap_content">

  <LinearLayout
    android:background="@drawable/selector_foo"
    />

  <LinearLayout
    android:background="@drawable/selector_grok"
    />

</LinearLayout>

所以我在标题视图中看到了我的子布局,奇怪的是,在标题区域的任何地方点击(即使我想念任何一个孩子)会导致两个都被“选中”,因为我可以看到他们的背景资源变化。

当selected / focused state = true时,selector_foo和selector_grok都有不同的背景图像。

我想知道是否有办法阻止这种行为?我在两个孩子上都设置了点击处理程序,并且只有在我与它们相交时它们才会被触发。如果我点击标题中的任何位置,不知道为什么他们选择的状态会变为真。

由于

2 个答案:

答案 0 :(得分:0)

好的,事实证明我是这样添加的:

listView.addHeaderView(view, null, true);

最后一个参数是“isSelectable”。由于我的内部控件可以聚焦,因此我不需要将整个项目选择,因此将其更改为false会使其表现正常。

答案 1 :(得分:0)

listView.addHeaderView(view, null, false);