我有一个显示 ListView 的活动屏幕。此 ListView 允许用户根据自己的喜好选择项目。我对此没有任何问题。
但是,屏幕也有一个导航抽屉。那是另一个ListView。我已手动设置要选择/检查的项目之一。但是,当导航抽屉打开时,该 ListView 中没有任何视觉效果。如果我以编程方式查询它,我会被告知检查了一项,并且它的位置是我所期望的。
难道我做错了什么?
我的屏幕 xml 如下所示:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/NavigationDrawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/folderList"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:choiceMode="singleChoice"
android:listSelector="@android:color/darker_gray" />
<LinearLayout
android:id="@+id/drawerView"
android:orientation="vertical"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start">
<ListView
android:id="@+id/listNavFolders"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:listSelector="@android:color/holo_red_light"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
我使用此代码设置选择。它是 C#,因为我使用的是 Xamarin,但我认为这不会产生影响。
this.drawerList.SetSelection(pos);
this.drawerList.SetItemChecked(pos, true);
调用CheckedItemCount
或CheckedItemPosition
两者都表示已设置值。我有理由确定我的 ListView 设置正确,因为屏幕上还有另一个 ListView 可以正常工作。
有人对我缺少什么有建议吗?