Sto tentando di aggiungere e rimuovere dinamicamente le righe da un TableLayout.Aggiunta e rimozione dinamiche delle righe della tabella - Android
Il layout è definito in un file xml.
Sono in grado di rimuovere correttamente una riga, ma quando chiamo il comando addView corrispondente non accade nulla.
table = (TableLayout)findViewById(R.id.table);
row = (TableRow)findViewById(R.id.row);
table.removeView(row);
table.addView(row);
Ciò comporta la rimozione di una riga, ma non l'aggiunta di nuovo.
Modifica: Si scopre che è stato aggiunto se, dopo tutto, nella parte inferiore dello schermo anziché nella stessa posizione in cui è stato rimosso.
sono in grado di aggiungerlo nella posizione corretta specificando l'indice:
table.addView(row,4); // 4 happens to the the row
ma io non riesco a capire come determinare l'indice della riga, non sembra essere un metodo per realizzare questo. qualcuno sa come fare a quello? (ad esempio se non sapevo che l'indice era 4 come potrei capirlo)
Modifica: incluso XML. questo è solo la riga in questione, ci sono altre righe sopra e sotto
<TableRow android:id="@+id/row">
<TextView android:id="@+id/field1"
android:text="testing"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="3dip"
android:textStyle="bold"
android:textSize="18dip"
/>
<TextView android:id="@+id/field2"
android:padding="3dip"
android:text="test"
android:textSize="18dip"
android:gravity="right"
/>
</TableRow>
Il tuo codice funziona bene con un layout di prova. Mi piace vedere il tuo layout XML per commentare ulteriormente. – bhatt4982
Hai righe sopra e sotto la riga in questione? – brodie31k