Ich versuche, Zeilen dynamisch aus einer TableLayout hinzuzufügen und zu entfernen.Tabellenreihen dynamisch hinzufügen und entfernen - Android
Das Layout ist in einer XML-Datei definiert.
Ich bin in der Lage, eine Zeile erfolgreich zu entfernen, aber wenn ich den entsprechenden AddView-Befehl aufrufen passiert nichts.
table = (TableLayout)findViewById(R.id.table);
row = (TableRow)findViewById(R.id.row);
table.removeView(row);
table.addView(row);
Dies führt dazu, dass eine Zeile entfernt, aber nicht erneut hinzugefügt wird.
Bearbeiten: Es stellt sich heraus, es wurde hinzugefügt, wenn schließlich, nur am unteren Rand des Bildschirms statt an der gleichen Stelle, wie es entfernt wurde.
Ich bin die Lage, es in der richtigen Position hinzufügen, indem Sie den Index festgelegt wird:
table.addView(row,4); // 4 happens to the the row
aber ich kann nicht herausfinden, wie der Index der Zeile, um zu bestimmen, scheint es keine Methode zu sein, um das zu erreichen. Weiß jemand wie das geht? (dh. wenn ich nicht wusste, der Index war 4, wie könnte ich das herausfinden)
Edit: enthalten XML. das ist nur die Reihe in Frage, es gibt andere Zeilen darüber und darunter
<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>
Ihr Code funktioniert gut mit einem Testlayout. Möchten Sie Ihr XML-Layout sehen, um es weiter zu kommentieren. – bhatt4982
Hatten Sie Zeilen über und unter der fraglichen Zeile? – brodie31k