アプリケーションの Navigation Drawer 内で ListView を使用しようとしています。この ListView (私のアプリのいくつかのタグに対応) で複数の項目を選択できるようにして、どの項目が選択されているかをユーザーに表示したいと思います。
リストビューのすべてのアイテムの背景として設定されているAndroid> = 4.0で次のドローアブルを使用しています。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:drawable="@drawable/list_pressed_holo_light" />
<item android:drawable="@color/transparent" />
</selector>
そして、そのバージョンでは非常にうまく機能します。ただし、Android 2.3 (エミュレーター) では、一度選択するとフィードバックが表示されません。
また、エミュレーターでうまく機能しない他のセレクタードローアブルも試しました。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/solid_white" android:state_activated="false"/>
<item android:drawable="@drawable/solid_white" android:state_activated="false" android:state_pressed="false"/>
<item android:drawable="@drawable/listitem_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/listitem_focused" android:state_activated="true"/>
</selector>
私のJavaコードでは、次の行を使用して、ユーザーがクリックしたときに選択されたアイテムを設定していることに注意してください。
this.mDrawerList.setSelection(position);