【发布时间】:2013-02-07 07:37:03
【问题描述】:
我对 android 很陌生,我有一个这样的 xml:
<RadioGroup
android:id="@+id/cardRadioGroup"
android:layout_width="wrap_content"
android:layout_height="45dp" android:layout_alignParentLeft="true" android:layout_marginLeft="35dp"
android:layout_alignTop="@+id/cardEditText">
</RadioGroup>
我很想使用我的代码来扩展这个 xml,以根据我的数据模型生成尽可能多的单选按钮。
我使用的代码是(在 for 循环中):
LayoutInflater inflater = this.getLayoutInflater();
View currentView = inflater.inflate(R.layout.card_payment_content_node,null);
RadioGroup rg = (RadioGroup) currentView.findViewById(R.id.cardRadioGroup);
RadioButton rb = new RadioButton(this);
//set radiobutton properties
rb.setText(entry.getKey());
rb.setId(++radioButtonIdCounter);
rg.addView(rb);
//add to view
parent.addView(currentView);
这是按预期工作的。但问题是我可以在我的设备上一次选择许多单选按钮。
我不确定为什么会这样。我在哪里犯错了?
提前致谢。
【问题讨论】:
-
您在哪里将新创建的单选按钮添加到单选组?
-
我没有添加。我该如何添加这些? Android 不知道
cardRadioButton在名为cardRadioGroup的RadioGroup内? -
@siriam 您希望如何能够在 XML 中动态添加 GUI 元素?需要特殊的循环标签才能为生成的对象提供单独的属性。可以使用 XSLT,但 Android 不会将 XSLT 应用于您的布局描述。您可以手动执行此操作,但如我在回答中所述,以编程方式添加按钮更有效。
-
我已经更新了代码!