-1

在我的 Android 项目中,我有一个带有此项目布局的 ListView(它是带有新属性的 simple_list_item_1 布局android:background

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:gravity="center_vertical"
    android:paddingLeft="6dip"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:background="@drawable/simple_listselector"
/>

我的android:background="@drawable/simple_listselector"样子是这样的:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/GridSelection" android:state_activated="true"/>
    <item android:drawable="@color/GridSelection" android:state_checked="true"/>
    <item android:drawable="@color/GridSelection" android:state_selected="true"/>
    <item android:drawable="@color/GridSelection" android:state_pressed="true"/>
    <item android:drawable="@color/transparent"/>
</selector>

但是,如果我现在调用setSelected(true)listItems 之一,则选择器不可见。我是否必须更改选择器或项目布局中的某些内容?

4

1 回答 1

0

首先你需要设置一个ListView的选择模式

ListView lv=new ListView(this) or findViewById(R.id.my_list_view);
lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

这是你的背景xml文件

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:drawable="@drawable/state_selected" />
<item android:drawable="@android:drawable/state_unselected" />
</selector>

干得好

于 2013-06-19T11:46:18.100 回答