导航抽屉项目默认未选中

时间:2018-11-19 11:26:50

标签: java android android-studio android-layout navigation-drawer

这是我的导航抽屉项目的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 :(得分:1)

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

Check this link for more info

答案 1 :(得分:1)

在您的xml android:checked =“ true”中设置要设置为默认项的项目。

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