ListView を表示するアクティビティ画面があります。この ListView により、ユーザーは思いのままにアイテムを選択できます。問題ありません。
ただし、画面には Navigation Drawer もあります。その中に別の ListView があります。その項目の 1 つを手動で選択/チェックするように設定しました。ただし、ナビゲーション ドロワーが開いているときは、その ListView では何も表示されません。プログラムでクエリを実行すると、1 つの項目がチェックされ、その位置が期待どおりであることが通知されます。
私は何か間違ったことをしていますか?
画面の 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>
このコードで選択を設定します。私はXamarinを使っているのでC#ですが、違いはないと思います。
this.drawerList.SetSelection(pos);
this.drawerList.SetItemChecked(pos, true);
CheckedItemCount
または両方の呼び出しCheckedItemPosition
は、値が設定されていることを示します。問題なく動作している別の ListView が画面上にあるため、ListView が適切に設定されていることは間違いありません。
私が欠けているものについて誰か提案がありますか?