首页 > 解决方案 > Android - 如何将默认选中的复选框添加到导航抽屉

问题描述

我想在 Navigation Drawer 中添加一个复选框,并且我希望其中一个成为default checked

我正在使用这个:如this answerapp:actionViewClass="android.widget.Switch"中所建议的那样。

但我不知道如何让其中一个成为默认检查。如果我使用此属性android:checked="true",则选中该选项而不是复选框(见图)。

在此处输入图像描述

有谁知道如何使其默认检查(如果可能,我只想在 XML 中进行)?

这是我的activity_drawer.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:showIn="navigation_view">

    <group
        android:checkableBehavior="single">
        <item
            android:id="@+id/checkboxX-axis"
            android:title="Show x-axis"
            android:icon="@drawable/ic_x_axis_black_24dp"
            app:actionViewClass="android.widget.CheckBox"
            android:checked="true"
            />
        <item
            android:id="@+id/checkboxY-axis"
            android:title="Show y-axis"
            android:icon="@drawable/ic_y_axis_black_24dp"
            app:actionViewClass="android.widget.CheckBox"
            />
        <item
            android:id="@+id/checkboxZ-axis"
            android:title="Show z-axis"
            android:icon="@drawable/ic_z_axis_black_24dp"
            app:actionViewClass="android.widget.CheckBox"
            />
    </group>
</menu>

标签: javaandroidcheckboxnavigation-drawer

解决方案


你可以这样做:

MenuItem item = navigation.getMenu().findItem(R.id.checkboxX-axis);
CompoundButton compoundButton = (CompoundButton) item.getActionView();
compoundButton.setChecked(true);

替换navigationNavigationView的名称。


推荐阅读