Adding a radio group to a custom Dialog
android, dialog, radio-button
Solution
Looking at the XML you posted, try this:
Context context=LocationActivity.this;
dialog=new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
View view = LayoutInflater.fromContext(context).inflate(R.layout.custom_dialog, null, false);
RadioGroup rg = (RadioGroup) view.findViewById(R.id.radiogroup);
RadioGroup.LayoutParams layoutParams = new RadioGroup.LayoutParams(
RadioGroup.LayoutParams.WRAP_CONTENT,
RadioGroup.LayoutParams.WRAP_CONTENT);
// add 5 radio buttons to the group
RadioButton rb;
for (int i = 0; i < 5; i++){
rb = new RadioButton(context);
rb.setText("item set" + i);
rb.setId(i);
rg.addView(rb, layoutParams);
}
dialog.setContentView(view);
I didn't see how you were changing your Dialog layout. So I inflated the layout, added the RadioButtons, and then passed the completed layout to `dialog`.
Also, because the `linearMain` only has one child you can remove this LinearLayout and simply use `radioGroup`.
Problem
I am trying to dynamic radio buttons to a custom dialog but not able to get it added in my custom dialog ``` final RadioButton[] rb = new RadioButton[5]; RadioGroup rg = new RadioGroup(this); rg.setOrientation(RadioGroup.VERTICAL); // layout params to use when adding each radio button LinearLayout.LayoutParams layoutParams = new RadioGroup.LayoutParams( RadioGroup.LayoutParams.WRAP_CONTENT, RadioGroup.LayoutParams.WRAP_CONTENT); LinearLayout ll2 = (LinearLayout) findViewById(R.id.linearMain); // add 5 radio buttons to the group for (int i = 0; i < 5; i++){ rb[i] = new RadioButton(this); String label = "item set" + i; rb[i].setText(label); rb[i].setId(i); rg.addView(rb[i],layoutParams); } ll2.addView(rg); -------------------------------------------------------------------- Context context=LocationActivity.this; dialog=new Dialog(context); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.custom_dialog); ---------------------------------------------------------------------- Linearlayout2 is defined in custom_dialog.xml file. I must be doing something wrong but not able to figure it out. Other widgets are getting displayed except radiogroup buttons. ``` Any pointer to this issue is appreicated. Thanks! Swz custom_dialog file as below: It has 2 textview widgets and a radiogroup declared. I am able to add the same layout successfully to an activity screen but not to custom dialog. ``` <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/linlayoutBase" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android" > <LinearLayout android:id="@+id/linearLayout3" android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/TextView03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dip" android:layout_marginRight="5dip" android:text="Longitute: " android:textSize="20dip" > </TextView> <TextView android:id="@+id/TextView04" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="unknown" android:textSize="20dip" > </TextView> </LinearLayout> <LinearLayout android:id="@+id/linearMain" android:layout_width="match_parent" android:layout_height="wrap_content"> <RadioGroup android:id="@+id/radiogroup" android:layout_width="wrap_content" android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" > </RadioGroup> </LinearLayout> </LinearLayout> ```