RadioButton + Textedit per Code anlegen

  • 1 Antworten
  • Letztes Antwortdatum
N

newpageart

Neues Mitglied
0
Hallo liebe Forengemeinde,

ich versuch schon seit einiger zeit eine RadioGroup mit zusätzlichem Textfeld zuerstellen. Dies Funktionier auch, aber leider klebt das textfeld am linken Rand. Ich würde es aber gern mit einem Abstand zum linken rand erstellen (soviel Abschand wie RadioButton breit ist).
So sieht es jetzt aus:
Code:
O RadioButton 1
O RadioButton 2
[Textfeld]
O RadioButton 3
O RadioButton 4
So würde ich es gern haben:
Code:
O RadioButton 1
O RadioButton 2
  [Textfeld]
O RadioButton 3
O RadioButton 4
Ich erstelle die Felder mit folgendem Code automatiasch aus einem JSON.
Aufbau JSON: "rb_options":[{"rb_name":"rb1","rb_label":"RadioButton1"},{"rb_name":"rb2","rb_label":"RadioButton2","rb_textfield":"textfeld1"},{"rb_name":"rb3","rb_label":"RadioButton3"},{"rb_name":"rb4","rb_label":"RadioButton1"}]
Code:
final LinearLayout ll = (LinearLayout)findViewById(R.id.linearLayoutContent);
ll.setPadding(10, 0, 10, 0);

JSONArray rb_options = fld_c.getJSONArray("rb_options");
int rb_i = rb_options.length();
                
final RadioButton[] rb = new RadioButton[rb_i+1];
RadioGroup rg = new RadioGroup(this);
rg.setOrientation(RadioGroup.VERTICAL);
rg.setTag(fld_c.getString("name"));

for(int i = 0; i < rb_i; i++){
    rb[i]  = new RadioButton(this);
    JSONObject json_rb = (JSONObject)rb_options.get(i);
    rb[i].setText(json_rb.getString("rb_label"));   
    rb[i].setId(i);
    rg.addView(rb[i]);
    // Textfeld
    if(!json_rb.isNull("rb_textfield")){
        EditText fld_rb_et = new EditText(this);
        fld_rb_et.setTag(json_rb.getString("rb_textfield"));
        LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        fld_rb_et.setPadding(50, 5, 5, 5);
        fld_rb_et.setLayoutParams(params);                   
        rg.addView(fld_rb_et);
   }
}
ll.addView(rg);
Mit freundlichen Grüße,
Tom
 
Zuletzt bearbeitet:
Hab das nun grob überflogen und ich denke mit LayoutMargin kommst du weiter ...
 
Zurück
Oben Unten