【问题标题】:getCheckedRadioButtonId() of RadioGroup returns 2131034181/2/3/4RadioGroup 的 getCheckedRadioButtonId() 返回 2131034181/2/3/4
【发布时间】:2014-11-04 13:25:56
【问题描述】:

作为我的应用程序的一部分,我必须在一个单选组中创建四个单选按钮并单击单选按钮。我编写了以下代码,但我的 selectId 属性在选择第一个选项时给出值 2131034181,在选择第二个选项时给出 2131034182 等等,单击 3 和 4 时值的个位会发生变化。为什么会这样?

int selectId=rbg.getCheckedRadioButtonId();
RadioButton selected= (RadioButton) rbg.findViewById(selectId);

String selected_user = (String) selected.getText();

【问题讨论】:

  • 我认为您正在寻找所选单选按钮的索引?如果是,请检查:stackoverflow.com/a/6441097/1911652
  • rbg.getCheckedRadioButtonId() 获得的 id 为您提供 id,w.r.t.所选单选按钮的单选组。这个 id 不是 w.r.t.布局。单选按钮的 id 与单选组和布局不同。上面获得的 id 可能仅相差个位或多于一位。这种行为没有任何普遍趋势。

标签: android android-radiogroup


【解决方案1】:

要获取radiobutton,请使用findViewById from context 而不是radiogroup,所以更改

RadioButton selected= (RadioButton) rbg.findViewById(selectId);
String selected_user = (String) selected.getText();

  RadioButton selected = (RadioButton)findViewById(selectId);
  String selected_user = selected.getText().toString();

【讨论】:

  • 我的问题是 getCheckedRadioButtonId() 的返回值,代码工作正常但返回整数值 2131034181 而不是 1。
  • @user3747888 你想获取单选按钮的索引还是单选按钮的ID?
猜你喜欢
  • 2016-01-20
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
  • 2019-02-09
  • 2021-07-04
  • 2011-12-19
  • 1970-01-01
  • 2020-08-02
相关资源
最近更新 更多