【发布时间】:2017-02-15 22:32:11
【问题描述】:
这是我在课堂上使用的两种方法,我希望返回附加到每个单选按钮的文本字符串:
public String toppingGroupCheck(RadioGroup toppingGroup, int checkedId){
switch (checkedId){
case R.id.toppingRadio1:
checkedId = toppingGroup.getCheckedRadioButtonId();
selectedToppingRad = (RadioButton)findViewById(checkedId);
selectedTopping = selectedToppingRad.getText().toString();
case R.id.toppingRadio2:
checkedId = toppingGroup.getCheckedRadioButtonId();
selectedToppingRad = (RadioButton)findViewById(checkedId);
selectedTopping = selectedToppingRad.getText().toString();
case R.id.toppingRadio3:
checkedId = toppingGroup.getCheckedRadioButtonId();
selectedToppingRad = (RadioButton)findViewById(checkedId);
selectedTopping = selectedToppingRad.getText().toString();
case R.id.toppingRadio4:
checkedId = toppingGroup.getCheckedRadioButtonId();
selectedToppingRad = (RadioButton)findViewById(checkedId);
selectedTopping = selectedToppingRad.getText().toString();
case R.id.toppingRadio5:
checkedId = toppingGroup.getCheckedRadioButtonId();
selectedToppingRad = (RadioButton)findViewById(checkedId);
selectedTopping = selectedToppingRad.getText().toString();
}
return selectedTopping;
}
public String sideGroupCheck(RadioGroup sidesGroup, int checkedId){
switch (checkedId){
case R.id.sideRadio1:
checkedId = sidesGroup.getCheckedRadioButtonId();
selectedSideRad = (RadioButton)findViewById(checkedId);
selectedSide = selectedSideRad.getText().toString();
case R.id.sideRadio2:
checkedId = sidesGroup.getCheckedRadioButtonId();
selectedSideRad = (RadioButton)findViewById(checkedId);
selectedSide = selectedSideRad.getText().toString();
case R.id.sideRadio3:
checkedId = sidesGroup.getCheckedRadioButtonId();
selectedSideRad = (RadioButton)findViewById(checkedId);
selectedSide = selectedSideRad.getText().toString();
}
return selectedSide;
}
然后我有了这个,它应该利用这些方法并将字符串返回给变量 tmpTopping 和 tmpSide:
public void submitForm(View view){
Intent submitform = new Intent(this, submitForm.class);
String tmpTopping = toppingGroupCheck(toppingGroup, checkedId);
submitform.putExtra("topping",tmpTopping);
String tmpSide = sideGroupCheck(sidesGroup, checkedId);
submitform.putExtra("side",tmpSide);
startActivity(submitform);
}
有人能解释一下我可能做错了什么,或者有更好的方法来解决他的问题吗?谢谢。
更新: 我试着做:
checkedId = toppingGroup.getCheckedRadioButtonId();
selectedToppingRad = (RadioButton)findViewById(checkedId);
String topping = selectedToppingRad.getText();
但它一直说“selectedToppingRad.getText()”将返回一个字符序列而不是一个字符串。相反,我只是将“selectedToppingRad.getText()”插入到 putExtra 中,它就起作用了。
【问题讨论】:
标签: android-studio switch-statement radio-group android-radiogroup android-radiobutton