代码之家  ›  专栏  ›  技术社区  ›  Ibtihaj Uddin

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

  •  0
  • Ibtihaj Uddin  · 技术社区  · 7 年前

    这是我的导航抽屉项目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 回复  |  直到 7 年前
        1
  •  1
  •   Viraj Patel    7 年前

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

    Check this link for more info

        2
  •  1
  •   Krasavello13 Efi MK    7 年前

    在您的xml android中设置:选中“true”作为您想要设置为默认值的项。

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