Ответ 1
Похоже, вы можете называть removeAllViews()
в целом LinearLayout
, а не конкретный TableLayout
, который хотите очистить. Двойная проверка: у вас есть что-то вроде:
myLinearLayout.someTableView.removeAllViews()
Я знаю, что это уже было задано раньше, но ни один из ответов не помог мне, поэтому я спрошу себя...
Я пытаюсь удалить все существующие строки из TableLayout, потому что я хочу, чтобы пользователь мог динамически обновлять таблицу. Другие предложения рекомендовали использовать removeAllViews(), который должен удалить все дочерние представления, однако это удаляет строки из моих других таблиц в том же LinearLayout (у меня есть линейный макет с несколькими таблицами).
Любые предложения?
Похоже, вы можете называть removeAllViews()
в целом LinearLayout
, а не конкретный TableLayout
, который хотите очистить. Двойная проверка: у вас есть что-то вроде:
myLinearLayout.someTableView.removeAllViews()
Вам нужно вызвать 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();
}