项目可聚焦时的Android ListView,禁用点击

时间:2010-12-31 09:28:03

标签: android listview background click focusable

我使用带有自定义适配器的ListView,它只有一个TextView

<TextView
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/list_item_content"
   android:background="@drawable/list_item1"
   android:layout_width="fill_parent" android:layout_height=""wrap_content"

 />

继承我的选择背景:

<selector 
 xmlns:android="http://schemas.android.com/apk/res/android">    

<item android:state_focused="true" android:state_enabled="false"
    android:state_pressed="true"
    android:drawable="@drawable/draw_list_item1" />
<item android:state_focused="true" android:state_enabled="false"
    android:drawable="@drawable/draw_list_item_focused" />

<item android:state_focused="true" android:state_pressed="true"
    android:drawable="@drawable/draw_list_item_selected" />
<item android:state_focused="false" android:state_pressed="true"
    android:drawable="@drawable/draw_list_item_selected" />

<item android:state_focused="true"
    android:drawable="@drawable/draw_list_item_focused" />

<item android:drawable="@drawable/draw_list_item1"/>

</selector>

问题是当我设置TextView属性时: android:clickable="true"android:focusable="true"

然后我会看到我的焦点版本的背景,但设置这些会导致列表项不再响应点击和长按。删除这两个属性后,所有ListItem都会响应点击次数和长时间点击。

应该做些什么才能使可聚焦背景可见,并且点击响应两者都可以工作。

我尝试过调用getListView().setItemsCanFocus(true),但问题仍然存在。

1 个答案:

答案 0 :(得分:3)

与android:focusable一起使用,在TextView上使用它

android:duplicateParentState="true"

使你的列表项目具有可关注性和可点击性。