Android - RadioButtons squishing up in RadioGroup - formatting issues

JeremyLKnauff

New Member
I am trying to split a \[code\]TableRow\[/code\] into 4 equal sections. The first is a \[code\]TextView\[/code\], and the last three are \[code\]RadioGroups\[/code\]. I have successfully split the \[code\]TableRow\[/code\] into these equal sections. But, each row is dynamically built, and could possibly have up to 5 \[code\]RadioButtons\[/code\] per \[code\]RadioGroup\[/code\]. When building a \[code\]TableRow\[/code\] with 5 \[code\]RadioButtons\[/code\] in each \[code\]RadioGroup\[/code\] everything displays and functions, but the \[code\]RadioButtons\[/code\] are squished together. Is there some way to have the \[code\]RadioGroup\[/code\] have multiple lines when this happens, but still remain in the same section of the same \[code\]TableRow\[/code\]? Basically like a \[code\]TextView\[/code\] will become multiline when given the proper parameters? Java code for this case:\[code\]RadioButton rb1, rb2, rb3, rb4, rb5;RadioGroup rg;TextView tv;TableLayout tl = (TableLayout) this.findviewById(R.string.tl);LayoutInflater inflater = getLayoutInflater();//set up TableRow and TextViewTableRow tr = (TableRow)inflater.inflate(R.layout.tablerow3q, tl, false);tr.setBackgroundColor(Color.LTGRAY);tv = (TextView)tr.findViewById(R.id.tv);tv.setText("Some text");//loop sets up 1 RadioGroup per increment, each with 5 RadioButtonsfor(int i = 0; i < 3; i++) { rb1 = new RadioButton(this); rb2 = new RadioButton(this); rb3 = new RadioButton(this); rb4 = new RadioButton(this); rb5 = new RadioButton(this); rb1.setText("test1"); rb2.setText("test2"); rb3.setText("test3"); rb4.setText("test4"); rb5.setText("test5"); //without these layouts, only four buttons are displayed, the other is cut off rb1.setLayoutParams(new RadioGroup.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f); rb2.setLayoutParams(new RadioGroup.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f); rb3.setLayoutParams(new RadioGroup.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f); rb4.setLayoutParams(new RadioGroup.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f); rb5.setLayoutParams(new RadioGroup.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f); //add RadioButtons to correct RadioGroup based on loop increment if(i == 0) { rg1 = (RadioGroup)tr.findViewById(R.id.rg1); rg1.addView(rb1); rg1.addView(rb2); rg1.addView(rb3); rg1.addView(rb4); rg1.addView(rb5); } if(i == 1) { rg1 = (RadioGroup)tr.findViewById(R.id.rg2); rg1.addView(rb1); rg1.addView(rb2); rg1.addView(rb3); rg1.addView(rb4); rg1.addView(rb5); } if(i == 2) { rg1 = (RadioGroup)tr.findViewById(R.id.rg3); rg1.addView(rb1); rg1.addView(rb2); rg1.addView(rb3); rg1.addView(rb4); rg1.addView(rb5); }}tl.addView(tr);\[/code\]XML layout for \[code\]TableRow\[/code\] that is being inflated:\[code\]<?xml version="1.0" encoding="utf-8"?><TableRow xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:id="@+id/tv" android:layout_width="0dip" android:layout_height="fill_parent" android:layout_margin="1dip" android:layout_weight="0.25" android:background="#ffffff"/> <RadioGroup android:id="@+id/rg1" android:layout_width="0dip" android:orientation="horizontal" android:layout_margin="1dip" android:layout_weight="0.25" android:background="#ffffff"/> <RadioGroup android:id="@+id/rg2" android:layout_width="0dip" android:orientation="horizontal" android:layout_margin="1dip" android:layout_weight="0.25" android:background="#ffffff"/> <RadioGroup android:id="@+id/rg3" android:layout_width="0dip" android:orientation="horizontal" android:layout_margin="1dip" android:layout_weight="0.25" android:background="#ffffff"/></TableRow>\[/code\]
 
Back
Top