在java类中初始化后,android中的单选按钮不可单击

在java类中初始化后,android中的单选按钮不可单击,java,android,Java,Android,我试图在JavaAndroid应用程序中使用单选按钮。我已经声明并初始化了单选按钮,一切看起来都很完美,但当我单击单选按钮时,println控制台将不输出任何内容。下面是我的一段尝试 单选按钮第一,第二//初始化了第一个单选按钮 //下面是在oncreate方法中调用的 first= (RadioButton) findViewById(R.id.first); second= (RadioButton) findViewById(R.id.second); //单击任何一个收音机,但什么也没

我试图在JavaAndroid应用程序中使用单选按钮。我已经声明并初始化了单选按钮,一切看起来都很完美,但当我单击单选按钮时,println控制台将不输出任何内容。下面是我的一段尝试

单选按钮第一,第二//初始化了第一个单选按钮

//下面是在oncreate方法中调用的

first= (RadioButton) findViewById(R.id.first);
second= (RadioButton) findViewById(R.id.second);
//单击任何一个收音机,但什么也没发生

if(first.isSelected()){
   System.out.println("the  first is here");
 }else if (second.isSelected()){
   System.out.println("the second is here ");
 }

请问有什么问题?

我认为更好的方法是使用RadioGroup并设置侦听器

RadioGroup radioGroup = (RadioGroup) findViewById(R.id.yourRadioGroup);        
    radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() 
    {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            // checkedId is the RadioButton selected
        }
    });

如果屏幕上有两个或两个以上单选按钮,请始终使用单选按钮组

为什么要使用无线组?


如果我们选中一个属于某个单选组的单选按钮,它会自动取消选中同一组中以前选中的任何单选按钮。

尝试此用户组

        <RadioGroup
        android:id="@+id/cancle_booking_radio_group"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp">

        <RadioButton
            android:id="@+id/radioBetterDeal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:buttonTint="@color/colorPrimary"
            android:text="@string/found_a_better_deal" />

        <RadioButton
            android:id="@+id/radioDiffHotel"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:buttonTint="@color/colorPrimary"
            android:text="@string/want_to_book_a_differnt_hotel" />

        <RadioButton
            android:id="@+id/radioBookingMistake"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:buttonTint="@color/colorPrimary"
            android:text="@string/booking_created_by_mistake" />
  </RadioGroup>

您是否为单击/更改事件设置了单选按钮侦听器?最好对单选按钮使用
setOnCheckedChangeListener
,而不是单击事件。
  final RadioGroup radioGroup = (RadioGroup) cancelDialog.findViewById(R.id.cancle_booking_radio_group);

    radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {

            View radioButton = radioGroup.findViewById(checkedId);
            int index = radioGroup.indexOfChild(radioButton);
            switch (index) {
                case 0:
                   // radio button one selected
                    break;
                case 1:
                   // radio button two selected
                    break;
                case 2:
                   // radio button Three selected
                    break;

            }
        }
    });