Ajout de lignes de la Table de façon dynamique dans Android

Je suis en train de créer une mise en page où j'ai besoin d'ajouter des lignes de la table de façon dynamique. Ci-dessous le tableau de mise en page xml

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/displayLinear"
    android:background="@color/background_df"
    android:orientation="vertical" >

         <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/display_row"
            android:layout_marginTop="280dip" >

</TableLayout>

Le fichier d'activité où les lignes sont ajoutées dynamiquement est

public void init(){
    menuDB = new MenuDBAdapter(this);
    ll = (TableLayout) findViewById(R.id.displayLinear);

    TableRow row=(TableRow)findViewById(R.id.display_row);
    for (int i = 0; i <2; i++) {

        checkBox = new CheckBox(this);
        tv = new TextView(this);
        addBtn = new ImageButton(this);
        addBtn.setImageResource(R.drawable.add);
        minusBtn = new ImageButton(this);
        minusBtn.setImageResource(R.drawable.minus);
        qty = new TextView(this);
        checkBox.setText("hello");
        qty.setText("10");
        row.addView(checkBox);
        row.addView(minusBtn);
        row.addView(qty);
        row.addView(addBtn);
        ll.addView(row,i);

    }
}

Mais lorsque je l'exécute, je suis d'erreur ci-dessous

08-13 16:27:46.437: E/AndroidRuntime(23568): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.roms/com.example.roms.DisplayActivity}: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

Je comprends que cela est dû à la commande ll.addView(row,i); mais quand je supprimer ce son ajout de toutes choses en une seule ligne plutôt bronzé de la création d'une nouvelle ligne pour l'élément suivant. J'ai essayé de donner de l'indice de trop comme row.addView(addBtn,i) mais encore ce n'est pas de peupler correctement. Veuillez informer. Merci.

  • Ici ligne de la Table est déjà dans le fichier xml...Alors avant de vous ajouter par programmation, vous devez appeler ll.removeallViews() la méthode.
InformationsquelleAutor user2416087 | 2013-08-13