Reputation: 16055
I have to build a dynamic form in my activity depending on the data retrieved via HTTP that is popullated from XML.
This could be one or more RadioGroup
s each with exactly three RadioButton
s. After RadioGroups I need to place two EditText
and one CheckBox
control with submit button afterwards.
I have prepared a LinearLayout
with vertical orientation and unique ID to be addressed from code and I expect that I can create a form control within a Java code without defining in android XML layout and adding to this LinearLayout
.
I was googling for a few hours but could not find any example how to do this.
Could anyone please provide some example how to create e.g. one RadioGruop
with 1-2 RadioButton
s and add it to the LinearLayout
(that is prepared in XML layout)?
Many thanks for any advice!!!
Upvotes: 3
Views: 11147
Reputation: 54705
These widgets can be create like every other widgets:
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));
I haven't tested this code, so it may contain some errors. But I hope you'll get the idea.
Upvotes: 5