如何获得所选radioButton
的价值?
我尝试使用buttonGroup1.getSelection().getActionCommand()
(如此处的一些答案中所述),但它无效。
此外,我暂时使用此代码,但我想知道这是一个好习惯吗?
//Consider that maleRButton and femaleRButton are two radioButtons of
//same buttonGroup
String getGender()
{
if(maleRButton.isSelected())
{
return "Male";
}
else if(femaleRButton.isSelected())
{
return "Female";
}
else
{
return null;
}
}
答案 0 :(得分:3)
我尝试使用buttonGroup1.getSelection()。getActionCommand()
这种方法可行,但出于某种原因,您似乎需要在创建按钮时手动设置动作命令。例如:
JRadioButton maleButton = new JRadioButton( "Male" );
maleButton.setActionCommand( maleButton.getText() );
这对我来说似乎是一个小错误,因为如果没有设置动作命令,动作命令通常会默认为文本。
答案 1 :(得分:2)
如果你有几个按钮,你可能应该这样做:
String getSelectedButton()
{
for (Enumeration<AbstractButton> buttons = buttonGroup1.getElements(); buttons.hasMoreElements();) {
AbstractButton button = buttons.nextElement();
if (button.isSelected()) {
return button.getText();
}
}
return null;
}
答案 2 :(得分:1)
String gender=group.getSelection().getActionCommand();
它会起作用但显示空值。
答案 3 :(得分:0)
int selectedRadioButtonID = radio_group.getCheckedRadioButtonId();
// If nothing is selected from Radio Group, then it return -1
if (selectedRadioButtonID != -1) {
RadioButton selectedRadioButton = findViewById(selectedRadioButtonID);
String selectedRadioButtonText = selectedRadioButton.getText().toString();
answerList.add(selectedRadioButtonText);
} else {
Toast.makeText(this, "select radio button", Toast.LENGTH_SHORT).show();
return false;
}