-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 の 1 つを呼び出した場合、セレクターは表示されません。セレクターまたは項目レイアウトで何かを変更する必要がありますか?

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 に答える