这是我的导航抽屉项目的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);
但是默认情况下,这不会使项目保持选中状态,但是当我单击任何项目时都会对其进行检查
答案 0 :(得分:1)
问题是,您要在setChecked(true)
之后设置属性findviewbyId
。
首先设置导航菜单,然后设置属性。
并使用API 23中引入的navigationView.setCheckedItem(id);
。
答案 1 :(得分:1)
在您的xml android:checked =“ true”中设置要设置为默认项的项目。
<item
android:id="@+id/upComingMovies"
android:title="Up Coming"
android:checked="true"
android:icon="@drawable/ic_movies"/>