默认情况下未选中导航抽屉项目

navigation drawer item not checked by default

这是我的 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>

我的activity代码

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

但这并不会默认选中该项目,但是当我点击任何项目时它会被选中

问题是,您在 findviewbyId.
之后设置 属性 setChecked(true) 首先设置导航菜单然后设置 属性.
并使用 navigationView.setCheckedItem(id); 中介绍的 API 23.

在你xml android:checked="true"中设置你想要设置为默认的项目。

<item 
    android:id="@+id/upComingMovies"
    android:title="Up Coming"
    android:checked="true"
    android:icon="@drawable/ic_movies"/>