我必须在我的活动中构建一个动态表单,具体取决于通过HTTP从XML中获取的数据。
这可能是一个或多个RadioGroup
,每个RadioButton
只有三个EditText
。在RadioGroups之后,我需要在提交按钮之后放置两个CheckBox
和一个LinearLayout
控件。
我准备了一个LinearLayout
,它具有垂直方向和唯一ID,可以从代码中解决,我希望我可以在Java代码中创建一个表单控件,而无需在android XML布局中定义并添加到{{1 }}
我谷歌搜索了几个小时,但找不到任何示例如何做到这一点。
有人可以提供一些例子来创建例如一个RadioGruop
,其中包含1-2 RadioButton
个,并将其添加到LinearLayout
(以XML布局准备)?
非常感谢任何建议!!!
答案 0 :(得分:5)
这些小部件可以像其他小部件一样创建:
final Context context; /* get Context from somewhere */
final LinearLayout layout = (LinearLayout)findViewById(R.id.your_layout);
final RadioGroup group = new RadioGroup(context);
final RadioButton button1 = new RadioButton(context);
button1.setId(button1_id); // this id can be generated as you like.
group.addView(button1,
new RadioGroup.LayoutParams(
RadioGroup.LayoutParams.WRAP_CONTENT,
RadioGroup.LayoutParams.WRAP_CONTENT));
final RadioButton button2 = new RadioButton(context);
button1.setId(button2_id); // this id can be generated as you like.
button2.setChecked(true);
group.addView(button2,
new RadioGroup.LayoutParams(
RadioGroup.LayoutParams.WRAP_CONTENT,
RadioGroup.LayoutParams.WRAP_CONTENT));
layout.addView(group,
new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
我没有测试过这段代码,因此可能包含一些错误。但我希望你能得到这个想法。