android – 显示列表视图中的当前选择

如在平板电脑版本的gmail和google谈话我试图显示在列表视图中的当前选择。我知道这不是标准的做法,应该在必要时避免。在我的程序中,listview是在屏幕上,并单击项目显示一个新的片段在右边(类似于gmail和google talk)。

为了避免用户猜测什么项目被选中我想显示当前选择,我尝试创建一个选择器,但在它被点击后,它改回正常的背景。

我该如何实现呢?

这是我的选择器xml

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/list_item_bg2" android:state_pressed="false" android:state_selected="false"
    android:state_focused="false"/>
<item android:drawable="@drawable/list_item_selected_bg2" android:state_pressed="true"/>
<item android:drawable="@drawable/list_item_selected_bg2" android:state_pressed="false" android:state_focused="false"
    android:state_selected="true" android:state_checked="false"/>
<item android:drawable="@drawable/list_item_selected_bg2" android:state_pressed="false" android:state_focused="true"
    android:state_selected="false"/>
<item android:drawable="@drawable/list_item_selected_bg2" android:state_pressed="false" android:state_focused="false"
    android:state_selected="false" android:state_checked="true"/>
<item android:drawable="@drawable/list_item_selected_bg2" android:state_pressed="true" android:state_focused="true"
    android:state_selected="true" android:state_checked="true"/>
<item android:drawable="@drawable/list_item_selected_bg2" android:state_pressed="true"/>



</selector> 
Gmail和类似应用使用的是激活状态,具有适当的行布局。看到:

> Setting Android Background & Persistence Menu Bar – Using attribute on older versions causes crash – Is there a theme /pattern approach?
> Change colour of activated list item background on Honeycomb

简而言之,你:

>使用具有已激活背景的行布局(例如,android.R.layout.simple_list_item_activated_1)
>在ListView上使用setChoiceMode(ListView.CHOICE_MODE_SINGLE)
>“检查”应该使用setItemChecked()在ListView上激活的行,以启用“激活”状态并具有持久亮点

http://stackoverflow.com/questions/9729517/showing-the-current-selection-in-a-listview

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:android – 显示列表视图中的当前选择