Frage

Ich schreibe einen Task-Manager App, dass Downloads eine Liste von Aufgaben und Teilaufgaben von einem Server und ein neues Kontrollkästchen für jedes Element erstellt und fügt sie zu einem linearen Layout (genannt ll unten). Das Problem, das ich habe ist, dass ich nicht die Java mit „Layout Rand links“ festlegen kann, wie ich mit XML kann (dies ist für die Unteraufgaben sie ein wenig auf dem Bildschirm einrücken). Ich kann die meisten anderen XML-Eigenschaften festgelegt, aber cb.setMargins () funktioniert nicht (sagt für Typ Checkbox nicht definiert). die Polsterung natürlich Einstellung nicht das gewünschte Ergebnis erzielen.

for(int i=0;i<tasks.size();i++) {
CheckBox cb = new CheckBox(this);
cb.setText(tasks.get(i).subtask_desc);
cb.setButtonDrawable(R.drawable.checkbox_xml);
ll.addView(cb);
    }

Irgendwelche Ideen oder, wie ich durch diese Arbeit?

War es hilfreich?

Lösung

Ich denke, man sollte die Checkbox des Linearlayout mit den richtigen LayoutParams hinzufügen:

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.leftMargin = 123;
li.addView(cb, params);

Ich hoffe, das hilft!

Andere Tipps

Hallo Versuchen Sie, diese ...

    private LinearLayyout ll = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    params.leftMargin = 123;;
    CheckBox cb;
    for(int i = 0; i < 10; i++) {
        cb = new CheckBox(this);
        cb.setText(categoryListArray[i]);
        ll.addView(cb, ll);
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top