【问题标题】:Error Adding radio button to radio group - Removeview()将单选按钮添加到单选组时出错 - Removeview()
【发布时间】:2017-07-11 23:27:53
【问题描述】:
rd1 = (RadioButton) findViewById(R.id.rd1);
rd2 = (RadioButton) findViewById(R.id.rd2);
rd3 = (RadioButton) findViewById(R.id.rd3);
rd4 = (RadioButton) findViewById(R.id.rd4);

RadioGroup rg = new RadioGroup(this);
rg.addView(rd1);
rg.addView(rd2);
rg.addView(rd3);
rg.addView(rd4);
rd1.setChecked(true);

错误是:您必须先在孩子的父母上调用 removeview().... 有人帮我...

【问题讨论】:

  • 如果RadioButtons 是在你的布局中定义的,为什么不把它们放在RadioGroup 那里呢?也就是说,你为什么要在代码中这样做?
  • 因为每个单选按钮都位于不同的表格行中。就是这样一个测验。你能帮我解决一下吗..

标签: android jquery eclipse android-radiogroup android-radiobutton


【解决方案1】:

问题是您的视图是在 XML 中创建的(这就是您必须使用 findViewById 的原因)

这意味着它们已经附加到您定义它们的 XML 树中的父节点。

你有两个选择:

正确的方法是在 XML 中定义 RadioGroup,或者将 Radios 放在里面,或者然后以编程方式创建并添加 Radios

或者不好的(快速但笨拙)的方式是:

rd1 = (RadioButton) findViewById(R.id.rd1);
...

((ViewGroup) rd1.getParent()).removeView(rd1);
...

RadioGroup rg = new RadioGroup(this);
rg.addView(rd1);
...
rd1.setChecked(true);

【讨论】:

  • 问题是我的单选按钮在不同的 TableRow 中。我有什么解决办法吗? :(
猜你喜欢
  • 2012-05-20
  • 2013-08-09
  • 1970-01-01
  • 1970-01-01
  • 2016-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-27
相关资源
最近更新 更多