【发布时间】:2017-11-17 22:20:04
【问题描述】:
我正在尝试在 Android 的 switch 语句 中更改 String 数据类型的值。并且该字符串是在声明 switch 语句的相同方法中声明的,当用户单击单选按钮时,我需要更改字符串的值。
public void CreateQuestion(View view) {
String questionType = new String();
RadioGroup questionTypeRadioGroup = (RadioGroup) findViewById(R.id.questionTypeRadioGroup);
questionTypeRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
switch (checkedId) {
case R.id.true_false:
questionType = "True/False";
break;
case R.id.mcqs:
questionType = "MCQs";
break;
}
}
});
}
【问题讨论】:
-
正如您在单击单选按钮时编写的那样,为什么需要 checkChanged Listener.CheckChaneg 仅在您更改类型时才有效。您可以在每个单选按钮上设置 Click listener。它会完成你的工作。
-
错误是什么?他不认识字符串?如果是,那不是因为切换,那是因为您在一个匿名类中,无法访问您实例化的字符串
-
为什么要调用 new String();?这不是一个好习惯,也不需要
-
真正的问题是switch语句根本没有执行,我在两个switch case中都发了一个Toast消息但是Toast都没有出现??????
标签: java android radio-button switch-statement android-radiogroup