2012-06-15 38 views
5

Tôi muốn thực hiện một cấu trúc với điều kiện (if-else) RadioButtonCách kiểm tra xem "Radiobutton" có được chọn không?

Tôi muốn rằng khi Radiobutton RB1 được chọn, chức năng này được kích hoạt:

regAuxiliar = ultimoRegistro; 

Và khi RadioButton RB2 được chọn, chức năng này được kích hoạt:

regAuxiliar = objRegistro; 

Và xin lỗi vì tiếng Anh của tôi, tôi là Brazil.

+2

Vui lòng tham khảo tài liệu API của nút phụ tùng vô tuyến (http://developer.android.com/reference /android/widget/RadioButton.html) – Saurabh

Trả lời

0

radiobuttonObj.isChecked() sẽ cung cấp cho bạn boolean

if(radiobuttonObj1.isChecked()){ 
//do what you want 
}else if(radiobuttonObj2.isChecked()){ 
//do what you want 
} 
+0

Thậm chí không hoạt động. – IMustBeSomeone

1

radioButton.isChecked() hàm trả về true nếu nút Radion được chọn, false.

Source

19

Cũng giống như bạn làm với một CheckBox

RadioButton rb; 

rb = (RadioButton) findViewById(R.id.rb); 

rb.isChecked(); 
+0

Không cần phải đúc bất kỳ – IMustBeSomeone

6

Bạn cũng có thể duy trì một giá trị cờ dựa trên người nghe,

radioButton.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

      public void onCheckedChanged(CompoundButton arg0, boolean arg1) { 

       //handle the boolean flag here. 
        if(arg1==true) 
         //Do something 

       else 
        //do something else 

      } 
     }); 

Hoặc đơn giản isChecked() cũng có thể được sử dụng để kiểm tra trạng thái RadioButton của bạn.

Dưới đây là một liên kết đến một mẫu,

http://www.mkyong.com/android/android-radio-buttons-example/

Và sau đó dựa trên lá cờ bạn có thể thực hiện chức năng của mình.

+0

Không cần phải phức tạp, nhưng việc sử dụng phương pháp của bạn có thể hữu ích nếu tôi làm điều gì đó phức tạp. – IMustBeSomeone

11
 if(jRadioButton1.isSelected()){ 
      jTextField1.setText("Welcome"); 
     } 
     else if(jRadioButton2.isSelected()){ 
      jTextField1.setText("Hello"); 
     } 
0

Bạn có thể sử dụng chuyển đổi như thế này:

XML Layout

<RadioGroup 
      android:id="@+id/RG" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"> 

      <RadioButton 
       android:id="@+id/R1" 
       android:layout_width="wrap_contnet" 
       android:layout_height="wrap_content" 
       android:text="R1" /> 

      <RadioButton 
       android:id="@+id/R2" 
       android:layout_width="wrap_contnet" 
       android:layout_height="wrap_content" 
       android:text="R2" /> 
</RadioGroup> 

Và JAVA Hoạt động

switch (RG.getCheckedRadioButtonId()) { 
     case R.id.R1: 
      regAuxiliar = ultimoRegistro; 
     case R.id.R2: 
      regAuxiliar = objRegistro; 
     default: 
      regAuxiliar = null; // none selected 
    } 

Bạn cũng sẽ cần phải thực hiện một chức năng onClick với nút hoặc setOnCheckedChangeListener để có được chức năng cần thiết.

1

Nếu bạn cần cho espresso thử nghiệm các giải pháp là như thế này:

onView(withId(id)).check(matches(isChecked())); 

Bye,

Các vấn đề liên quan