在我的Android项目中,我有一个带有此项目布局的ListView(它是带有新属性android:background
的simple_list_item_1布局)
<?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>
但是,如果我现在为其中一个listItem调用setSelected(true)
,则选择器不可见。我是否必须在选择器或项目布局中更改某些内容?
答案 0 :(得分: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>
你去吧