ListViewとlistselector.xmlがあります。最初に、setSeletion(position)を使用してアイテムを設定しました。ただし、このコードでは、アイテムは強調表示されません。アイテムをクリックしたときにのみ強調表示されます。
ArrayAdapter<String> ad = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listItems);
timeListView = (ListView) findViewById(R.id.listList);
timeListView.setAdapter(ad);
timeListView.setOnItemClickListener(this);
timeListView.setSelector(R.drawable.listselector);
timeListView.setSelection(toSelectPos);
=============================
XML
<ListView android:id="@+id/listList" android:layout_width="match_parent" android:layout_height="wrap_content" android:dividerHeight="1dp" >
listselector.xmlコード
<?xml version="1.0" encoding="UTF-8"?>
<!-- listselector.xml -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Selected -->
<item android:state_focused="true" android:state_selected="false"
android:drawable="@drawable/focused"/>
<!-- Pressed -->
<item android:state_selected="true" android:state_focused="false"
android:drawable="@drawable/selected" />
</selector>
上記のコードは完全なリストビューを強調表示します。アイテムの強調表示(bgの色の変更)のみを行います。そのためには、アイテム用に別のxmlを作成し、上記のようにリストではなく、アイテム用のセレクタープロパティを設定する必要があると思います。間違っている場合は私を訂正してください。
ポイントは、とにかくクリックとsetSelectionで選択されたアイテムのみを変更する必要があるということです。上記のコードでは、setSelectionでそれを実現する方法は変わりません。
他のQを調べましたが、探しているポイントが見つからなかったため、plsは他のQの重複としてマークしません。
ありがとう