我对编程非常陌生,并试图创建一个小的Android应用程序。我想根据按下的单选按钮将变量"stuff"设置为1或2。但它总是0。这是我的代码…我希望你能帮助我:
public class MainActivity extends ActionBarActivity {
//Radio Button
private int stufe;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView2 = (TextView) findViewById(R.id.textView2);
textView2.setText(String.valueOf(stufe));
}
public void onClick(View view){
switch (view.getId()){
case R.id.button1:
RadioButton onebutton = (RadioButton) findViewById(R.id.radio_one);
RadioButton twobutton = (RadioButton) findViewById(R.id.radio_two);
if (onebutton.isChecked()){
stufe = 1;
onebutton.setChecked(true);
twobutton.setChecked(false);
} else {
stufe = 2;
onebutton.setChecked(false);
twobutton.setChecked(true);
}
break;
}
}
您只是在更改stufe
值后忘记设置setText。
试试这个:
yourRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
switch (checkedId){
case R.id.radio_one:
stufe = 1;
break;
case R.id.radio_two:
stufe = 2;
break;
default:
break;
}
textView2.setText(String.valueOf(stufe));
}
});