zl程序教程

您现在的位置是:首页 >  其他

当前栏目

设置一个变量值,选择收音机组中的单选按钮

2023-04-18 12:49:16 时间

当用户从收音机组中选择男性,女性或未分类时,我想将字符串变量值设置为1,2,3。设置一个变量值,选择收音机组中的单选按钮

现在我做这种方式,但即使我选择一个单选按钮,将其设置变量值null

代码:

RadioGroup genderGroup; 
RadioButton male, female, unclassified; 
String strGender; 
genderGroup = findViewById(R.id.genderGroup); 
male = findViewById(R.id.genderMale); 
female = findViewById(R.id.genderFemale); 
unclassified = findViewById(R.id.genderUnclassified); 

if (genderGroup.getCheckedRadioButtonId() == -1) { 
     strGender = null;   //no buttons selected 
    } else { 
     if (male.isChecked()) {  //>genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
    @Override 
    public void>
                                
                            

KhanStan99

回答

你需要使用RadioGroup.OnCheckedChangeListener

接口定义为回调时,检查单选按钮该组中的改变被调用。

radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
    @Override 
    public void>
                                
                        

真棒!现在工作..谢谢@Nilesh –

谢谢@ KhanStan99高兴地帮助你 –

genderGroup.setOnCheckedChangeListener(new>
                                
                        

你应该处理这个如下图所示:

// Is the button now checked? 
boolean checked = ((RadioButton) view).isChecked(); 

// Check which radio button was clicked 
switch(view.getId()) { 
    case R.id.genderMale: 
     if (checked) 
      strGender = 1; 
     break; 
    case R.id.genderFemale: 
     if (checked) 
      strGender = 2; 
     break; 
    case R.id.genderUnclassified: 
     if (checked) 
      strGender = 3; 
     break; 
} 

public class MainActivity extends Activity { 
    RadioGroup genderGroup; 
    @Override 
    protected void>
                                
                        

设置一个变量值,选择收音机组中的单选按钮