Подтвердить что ты не робот

Как очистить все строки от TableLayout?

Я знаю, что это уже было задано раньше, но ни один из ответов не помог мне, поэтому я спрошу себя...

Я пытаюсь удалить все существующие строки из TableLayout, потому что я хочу, чтобы пользователь мог динамически обновлять таблицу. Другие предложения рекомендовали использовать removeAllViews(), который должен удалить все дочерние представления, однако это удаляет строки из моих других таблиц в том же LinearLayout (у меня есть линейный макет с несколькими таблицами).

Любые предложения?

4b9b3361

Ответ 1

Похоже, вы можете называть removeAllViews() в целом LinearLayout, а не конкретный TableLayout, который хотите очистить. Двойная проверка: у вас есть что-то вроде:

myLinearLayout.someTableView.removeAllViews()

Ответ 2

Вам нужно вызвать removeAllViews() для каждого TableRow:

int count = table.getChildCount();
for (int i = 0; i < count; i++) {
    View child = table.getChildAt(i);
    if (child instanceof TableRow) ((ViewGroup) child).removeAllViews();
}