我有這個ListFragment,這我在我的活動這種方式呼籲所有項目:ListFragment選擇器選擇
@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個元素,而不是全部。
任何幫助將非常感激。
也許我這樣做不對,讓我更好地想問:如何設置各行視圖的選擇? – Raykud 2012-04-16 21:42:11