如何在单击时检索按钮的名称(android)

时间:2012-04-15 09:51:15

标签: android button

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

肯定有办法吗?

感谢您的帮助

3 个答案:

答案 0 :(得分: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();

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

答案 1 :(得分:0)

你可以使用一个开关盒来实现这一点,只需与view.getId()进行比较,每个id都是radiobutton,然后需要完全获取按钮名称。

以下是示例代码::

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

使用LINK

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

RadioGroup rg = (RadioGroup)findViewById(R.id.radiogroup);
RadioButton radioButton = (RadioButton) findViewById(rg.getCheckedRadioButtonId());
Log.d("checked",radioButton.getText().toString());

答案 2 :(得分: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();