элемент навигационного ящика по умолчанию не отмечен - PullRequest
0 голосов
/ 19 ноября 2018

Вот мой xml для элементов ящика навигации

<item android:title="Movies"
    android:checkable="true">
    <menu>
        <group
            android:id="@+id/movies" 
            android:checkableBehavior="single">
            <item // this needs to be checked by default
                android:id="@+id/upComingMovies"
                android:title="Up Coming"
                android:icon="@drawable/ic_movies"/>

            <item
                android:id="@+id/inCinemaMovies"
                android:title="In Cinemas"
                android:icon="@drawable/ic_movies"/>

            <item
                android:id="@+id/popularMovies"
                android:title="Popular Now"
                android:icon="@drawable/ic_movies"/>

            <item
                android:id="@+id/topRatedMovies"
                android:title="Top Rated"
                android:icon="@drawable/ic_movies"/>
        </group>
    </menu>
</item>

Код моей активности

navigationView = findViewById(R.id.nav_view);
    navigationView.getMenu().getItem(0).setChecked(true);

Но этот элемент не проверяется по умолчанию,но когда я нажимаю на любой элемент, он проверяется

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Установите в вас xml android: checked = "true" для элемента, который вы хотите установить по умолчанию.

<item 
    android:id="@+id/upComingMovies"
    android:title="Up Coming"
    android:checked="true"
    android:icon="@drawable/ic_movies"/>
0 голосов
/ 19 ноября 2018

Проблема в том, что вы устанавливаете свойство setChecked(true) после findviewbyId.
Сначала установите меню навигации, затем установите свойство.
И используйте navigationView.setCheckedItem(id);, который введен в API 23.

Проверьте эту ссылку для получения дополнительной информации

...