Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中,如何在不同片段之间使用单选按钮组id进行切换_Java_Android_Android Fragments - Fatal编程技术网

Java 在Android中,如何在不同片段之间使用单选按钮组id进行切换

Java 在Android中,如何在不同片段之间使用单选按钮组id进行切换,java,android,android-fragments,Java,Android,Android Fragments,我是个新手 使用导航栏,在应用程序中创建片段 文件说明: fragment_settings.xml:包含单选按钮组 SettingsFragment.java:基本上是在导航抽屉中单击设置时显示片段_settings.xml。我检查了不同的 MainFragment.java:在这里,我想使用RadioButton id,它被点击到开关盒中,然后执行相应的操作 但问题是开关中有控制,但案例中没有,我试着放吐司,但id与任何案例都不匹配 fragment_settings.xml MainFra

我是个新手

使用导航栏,在应用程序中创建片段

文件说明:

fragment_settings.xml:包含单选按钮组

SettingsFragment.java:基本上是在导航抽屉中单击设置时显示片段_settings.xml。我检查了不同的

MainFragment.java:在这里,我想使用RadioButton id,它被点击到开关盒中,然后执行相应的操作

但问题是开关中有控制,但案例中没有,我试着放吐司,但id与任何案例都不匹配

fragment_settings.xml

MainFragment.java


这应该对你有用

final RadioGroup group= (RadioGroup) findViewById(R.id.radioAlgorithms);
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup radioGroup, int i) {
        int id = group.getCheckedRadioButtonId();
        switch (id) {
            case R.id.radioaes:
                // Your code
                break;
            case R.id.radiodes:
                // Your code
                break;
            case R.id.radioidea:
                // Your code
                break;
            case R.id.radiocustom:
                // Your code
                break;
            default:
                // Your code
                break;
        }
    }
});

希望这对你有帮助。

这应该对你有用

final RadioGroup group= (RadioGroup) findViewById(R.id.radioAlgorithms);
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup radioGroup, int i) {
        int id = group.getCheckedRadioButtonId();
        switch (id) {
            case R.id.radioaes:
                // Your code
                break;
            case R.id.radiodes:
                // Your code
                break;
            case R.id.radioidea:
                // Your code
                break;
            case R.id.radiocustom:
                // Your code
                break;
            default:
                // Your code
                break;
        }
    }
});

希望这有帮助。

您需要设置CheckedChangeListener

radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {

    }
});

您需要setOnCheckedChangeListener

radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {

    }
});

@Mr7,它不起作用,现在,我认为在开关上方有我自己定义的变量,而getId与查看的id相关。v.getId返回您当前单击onelse的单选按钮id,您可以获得选中的单选按钮id,如int radioButtonID=radioButtonGroup.getCheckedRadioButtonId;它现在也不工作了,先生,我正在做的是从设置片段中获取检查过的单选按钮id,并在开关中使用它,在家片段中,两个片段都在导航抽屉中。你正在控制开关吗?@Mr7,它不工作了,现在也是,我认为在开关上方有我自己定义的变量,而getId与查看的id相关。v.getId返回您当前单击的单选按钮id。如果您单击了onelse,则可以获得所选单选按钮id,如int radioButtonID=radioButtonGroup.getCheckedRadioButtonId;它现在也不工作了,先生,我要做的是从设置片段中获取检查过的单选按钮id,并在开关中使用它,在家片段中,两个片段都在导航抽屉中。您正在控制开关吗?
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {

    }
});