Próbuję dynamicznie dodawać i usuwać wiersze z TableLayout.Dynamiczne dodawanie i usuwanie wierszy tabeli - Android
Układ jest zdefiniowany w pliku xml.
Jestem w stanie pomyślnie usunąć wiersz, ale gdy zadzwonię do odpowiedniego polecenia addView nic się nie dzieje.
table = (TableLayout)findViewById(R.id.table);
row = (TableRow)findViewById(R.id.row);
table.removeView(row);
table.addView(row);
Powoduje to usunięcie wiersza, ale nie jest on ponownie dodawany.
Edycja: Okazuje się, że dodawała, jeśli w ogóle, tylko na dole ekranu, zamiast w tym samym miejscu, w którym została usunięta.
jestem w stanie dodać go we właściwej pozycji przez podanie indeksu:
table.addView(row,4); // 4 happens to the the row
ale nie mogę dowiedzieć się, jak określić indeks wiersza, nie wydaje się być metoda aby to osiągnąć. ktoś wie jak to zrobić? (jeśli nie wiedziałem, że indeks wynosi 4, jak to określić):
Edytuj: uwzględniono XML. to właśnie rząd w pytaniu, są inne wiersze powyżej i poniżej to
<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>
Twój kod działa prawidłowo z układem testowym. Chcesz zobaczyć swój układ XML, aby komentować dalej. – bhatt4982
Czy masz wiersze powyżej i poniżej wiersza, o którym mowa? – brodie31k