Я пытался удалить все строки, которые были динамически выделены в представлении XML, но это не работает должным образом.Я пытался использовать RemoveAllViews
, removeAllViewsInLayout
или даже использовать цикл for с getChildCount()
.
Теперь, если я раскомментирую removeAllViewsInLayout
, результат будет удален, но при этом будет отображаться последний индекс моего массива.Если я удаляю его, он будет добавляться динамически каждый раз, когда я выбираю нижнее представление навигации, создавая бесконечную таблицу.
Код выглядит следующим образом:
private void createTable(int imageID) {
TableLayout grd_overview = findViewById(R.id.table);
TableRow tr = new TableRow(this);
/*grd_overview.removeAllViewsInLayout();*/
grd_overview.setShrinkAllColumns(true);
grd_overview.setStretchAllColumns(true);
int x = 0;
tr.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.WRAP_CONTENT));
for (int i = 0; i < 1; i++) {
ImageView iv = new ImageView(this);
iv.setImageResource(imageID);
tr.addView(iv);
x++;
}
grd_overview.addView(tr);
}
Мой XML такойследует:
<LinearLayout
android:id="@+id/llayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="?attr/actionBarSize"
android:orientation="vertical">
<ImageView
android:id="@+id/header_image"
android:layout_width="match_parent"
android:layout_height="100dp"
android:scaleType="centerCrop" />
<ScrollView
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableLayout
android:id="@+id/table"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</TableLayout>
</ScrollView>
</LinearLayout>