我有这个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