0

カスタムリストビューアイテムを配置したい

listView.setSelection(itemIndex);

リストビューの表示部分の上部にある選択されたアイテムの配置。しかし、強調されていません。リストビューを再作成せずに、リストビュー項目のデフォルトのハイライトを設定するにはどうすればよいですか (次に、ハイライトを無効にして別のものを選択します)

ありがとう!

ps以前に何度も尋ねられたことは知っていますが、その仕組みがわかりませんでした

Android 2.2 で更新 が機能しない (adt エミュレーターと Android 2.2 froyo を搭載したスマートフォン)

drawable/listselector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@color/red" android:state_focused="true"/>
<item android:drawable="@color/yellow" android:state_selected="true"/>
<item android:drawable="@color/red" android:state_pressed="true"/>

</selector>

値/colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <color name="black">#000000</color>
    <color name="white">#ffffff</color>
    <color name="yellow">#ffff00</color>
    <color name="red">#ff0000</color>
</resources>

レイアウト/list1.xml

<ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:background="@drawable/listselector"
    android:clickable="true" >
</ListView>
4

1 に答える 1

3

これをxmlのレイアウトに追加するセレクターが必要になります

android:clickable="true"
android:background="@drawable/selector"

このようなフォルダーを作成selecor.xmlしますdrawable

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

そして最後valuescolors.xml

<?xml version="1.0" encoding="utf-8"?>
    <resources>
        <color name="black">#000000</color> 
        <color name="white">#ffffff</color>
        <color name="red">#ff0000</color>
    </resources>

そして電話する

listView.requestFocusFromTouch();

listView.setSelection(itemIndex);
于 2012-06-05T10:14:16.223 に答える