0

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 が適切に設定されていることは間違いありません。

私が欠けているものについて誰か提案がありますか?

4

1 に答える 1