知道RadioGroup上

时间:2018-04-03 17:50:26

标签: java android

我想知道检查哪个RadioButton执行操作。

但这不起作用。在日志中我有ID -1

mradioGroup = (RadioGroup) rootView.findViewById(R.id.choix_plateforme);
        mradioGroupt = (RadioButton) rootView.findViewById(R.id.ps4);
        mradioGroupa = (RadioButton) rootView.findViewById(R.id.xbox);
        mradioGroupw = (RadioButton) rootView.findViewById(R.id.pc);

        int selectedId = mradioGroup.getCheckedRadioButtonId();
        Log.d(getClass().getName(), "Plateforme_Choix = " + selectedId);
        // find which radioButton is checked by id

        if(mradioGroupt.isChecked()) {
            string_plateforme = "one";
        } else if(mradioGroupa.isChecked()) {
            string_plateforme = "two";;
        } else if (mradioGroupw.isChecked()){
            string_plateforme = "oops";
        }
        else {
            string_plateforme = "wrong";
        }

我的if声明也不起作用。

<RadioGroup
    android:id="@+id/choix_plateforme"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:orientation="horizontal">

    <RadioButton
        android:id="@+id/ps4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Playstation 4" />

    <RadioButton
        android:id="@+id/xbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="XBOX ONE" />

    <RadioButton
        android:id="@+id/pc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Ordinateur" />

</RadioGroup>
你能告诉我哪里错了吗?我不想要新的代码,但如果可以,请向我解释我的错误。

1 个答案:

答案 0 :(得分:1)

尝试设置OnCheckedChangeListener更改侦听器:

        radiogroup.setOnCheckedChangeListener(new OnCheckedChangeListener()
        {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId)
            {
                switch(checkedId)
                {
                case R.id.ps4:
                     Log.d(getClass().getName(), "Plateforme_Choix =ps4");
                    break;
                case R.id.xbox:
                    Log.d(getClass().getName(), "Plateforme_Choix =xbox");
                    break;
                case R.id.pc:
                    Log.d(getClass().getName(), "Plateforme_Choix =pc");
                    break;
                }
            }
        });