1

我有一个包含 4 个 RadioButtons 的 RadioGroup。单击时它们都调用相同的方法,我知道如何获取与按钮关联的文本,但我不知道如何获取所选按钮的名称。

一定有办法吗?

谢谢您的帮助

4

3 回答 3

1

也许这可以帮助您:

// radioGroup - you need to set this after creating the radiogroup, by findViewById done in the right place or just assigning upon creating it, depending on how you create your layouts.
RadioButton radioButton = (RadioButton) findViewById(radioGroup.getCheckedRadioButtonId());
String text = radioButton.getText().toString();

让我知道它是否有效 :) 总是渴望学习和帮助!

于 2012-04-15T09:57:11.207 回答
0

我假设您正在使用View.OnClickListener每个RadioButton. 正确的?

如果是这样,请不要这样做。处理RadioButton点击的最简单方法是使用RadioGroup.OnCheckedChangeListener

在你onCreate(...)打电话后setContentView(...)RadioGroup...

RadioGroup rg = (RadioGroup) findViewById(R.id.my_rg);
rg.setOnCheckedChangeListener(...);

onCheckedChanged听者长这样...

public void onCheckedChanged(RadioGroup group, int checkedId)

...所以在听众中只需执行以下操作...

RadioButton radioButton = (RadioButton) findViewById(checkedId);
String text = radioButton.getText();
于 2012-04-15T10:25:37.993 回答
0

您可以使用开关盒来执行此操作,并且 onclick 只需将 view.getId() 与单选按钮的每个 id 进行比较,然后执行需要完整获取按钮名称的操作。

下面是示例代码::

switch (checkedRadioButton) {
  case R.id.radiobutton1 : radioButtonSelected = "radiobutton1";
                                  break;
  case R.id.radiobutton2 : radioButtonSelected = "radiobutton2";
                              break;
  case R.id.radiobutton3 : radioButtonSelected = "radiobutton3";
                              break;
}

使用链接

或者您也可以使用以下代码

RadioGroup rg = (RadioGroup)findViewById(R.id.radiogroup);
RadioButton radioButton = (RadioButton) findViewById(rg.getCheckedRadioButtonId());
Log.d("checked",radioButton.getText().toString());
于 2012-04-15T09:53:08.920 回答