【问题标题】:Android ListView when Items are Focusable,disables clicks项目可聚焦时的Android ListView,禁用点击
【发布时间】:2010-12-31 09:28:03
【问题描述】:

我正在使用带有自定义适配器的 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),但问题仍然存在。

【问题讨论】:

    标签: android listview background click focusable


    【解决方案1】:

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

    android:duplicateParentState="true"
    

    使您的列表项具有焦点和可点击性。

    【讨论】:

    • 不,不工作。现在所有项目都处于聚焦状态。 ListView 是我布局中的唯一视图,即宽度和高度设置为 fill_parent
    • @Shardul:你的意思是你一次选择了多个列表项?
    • No 当活动开始时,所有项目的背景都类似于我的选择器中指定的聚焦背景。仍然没有一个项目响应点击。
    • 你的TextView不是放在LinearLayout还是RelativeLayout中???好像是这样。如果您直接使用 TextView 作为项目模板,则所有项目都会获得焦点状态(使用 duplicateParentState),并且状态列表中的倒数第二个项目是第一个匹配项,并且所有项目都显示为选中状态。来自 SDK 文档“在每次状态更改期间,从上到下遍历状态列表,并使用与当前状态匹配的第一项——选择不是基于“最佳匹配”,而只是满足最低要求的第一项国家标准。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多