我目前正在开发Android平板电脑应用程序,它有两个片段,一个列表片段和一个细节片段。
我正在尝试使我的列表类似于人物和电子邮件,其中当选择项目背景更改并且三角形位于列表的右侧时。
我目前在设置列表中所选项目的背景时遇到了困难。 正如我在列表视图中所理解的那样,我应该将android:listSelector设置为drawable,并且所有都应该工作。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="8dp"
>
<ListView android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:listSelector="@drawable/selected_background"
/>
<TextView android:id="@id/android:empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="No data. Please check your internet connection." android:gravity="center"/>
</LinearLayout>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@color/hukd_orange_faded" />
</shape>
当我这样做时,在我开始滚动列表之前,彩色项目的背景不会改变。不仅如此,背景也会闪烁,并且经常会回到标准的背景色。
我已经在网上查看了Holo.light似乎存在问题,如Android list selector gets stuck when using Theme.Light所示 我尝试了两种状态,但问题仍然存在。
答案 0 :(得分:3)
我终于设法解决了这个问题。
所需要的只是以下两行
listView = getListView();
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
它现在的工作方式类似于ICS中的邮件和人员。
答案 1 :(得分:0)