安卓菜单 : Two single-checkable groups in the same menu

标签 android

我的 xml 代码是:

<group android:checkableBehavior="single">
    <item android:id="@+id/group_1_box_1"/>
    <item android:id="@+id/group_1_box_2"/>
</group>

<group android:checkableBehavior="single">
    <item android:id="@+id/group_2_box_1"/>
    <item android:id="@+id/group_2_box_2"/>
</group>

我遇到的问题是,当我将 group_1_box_1 的状态更改为 true 时,它​​不仅将 group_1_box_2 设置为 false,还将 group_2 框设置为 false。

编辑:这是我的代码

public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
    case R.id.group_1_box_1:
        item.setChecked(true);
        return true;
    case R.id.group_1_box_2:
        item.setChecked(true);
        return true;
    case R.id.group_2_box_1:
        item.setChecked(true);
        return true;
    case R.id.group_2_box_2:
        item.setChecked(true);
        return true;
    default:
        return super.onOptionsItemSelected(item);
}

最佳答案

您只需为 xml 文件中的每个 group 项目添加唯一 ID。

<group
    android:id="@+id/menuGroup_1"           <!-- Here -->
    android:checkableBehavior="single">
    <item android:id="@+id/group_1_box_1"/>
    <item android:id="@+id/group_1_box_2"/>
</group>

<group
    android:id="@+id/menuGroup_2"           <!-- And here -->
    android:checkableBehavior="single">
    <item android:id="@+id/group_2_box_1"/>
    <item android:id="@+id/group_2_box_2"/>
</group>

关于安卓菜单 : Two single-checkable groups in the same menu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6698954/

相关文章:

android - 如何从 OMXCodec 解码输出中转储 YUV

android - Smack 4.1.0 android 名册不显示

php - 使用 PHP 和 MYSQL 从坐标生成 "SHAPEFILES "

android - BroadcastReceiver 没有收到 Intent Intent.ACTION_LOCALE_CHANGED

java - 可重写的控制事件(Android studio)

Android:将 Activity 上下文获取到数组适配器类中

android opengl深度测试失败

java - 应用程序启动后,我的 Java 应用程序中的所有 .class 文件是否都加载到内存中?

android - 将字符串从 Activity 传递回 Android 中运行的 Fragment

java - 如何避免在我的应用程序中将 APK 反编译为 Java 文件