この ListFragment があり、Activity で次のように呼び出しています。
@Override
protected void onCreate( Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
setTitle( getString(R.string.something) );
if ( savedInstanceState == null ) {
final FragmentManager fm = getSupportFragmentManager();
final FragmentTransaction ft = fm.beginTransaction();
final Fragment f = CustomerListFragment.newInstance();
ft.add( android.R.id.content, f, FRAG_TAG_CUSTOMER_LIST );
ft.commit();
}
}
私のフラグメントでは、単一の選択肢を設定しました:
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
私のマニフェストでは、スタイルを設定しました:
<activity android:name=".ui.CustomerListActivity" android:clearTaskOnLaunch="true" android:theme="@style/Theme.AppList">
テーマは次のように定義されています。
<style name="Theme.AppList">
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowBackground">@color/window_background</item>
<item name="android:listViewStyle">@style/AppListView</item>
</style>
<style name="AppListView" parent="@android:style/Widget.ListView.White">
<item name="android:dividerHeight">4dp</item>
<item name="android:listSelector">@color/selector_color</item>
<item name="android:ellipsize">marquee</item>
<item name="android:cacheColorHint">@color/list_item</item>
<item name="android:divider">@android:color/transparent</item>
</style>
そして色:
<color name="list_item">@android:color/white</color>
<color name="selector_color">#ffba00</color>
ただし、アプリが実行されるたびに、アイテムを長押しするかドラッグしようとするまでは問題ないように見えます。次に、1 つの要素のみを選択するのではなく、すべての要素が選択され、このように表示されます。
問題は、すべての要素ではなく 1 つの要素のみを選択するようにリストを作成するにはどうすればよいかということです。
どんな助けでも大歓迎です。