Если вы попытаетесь удалить TableRows, счетчик идентификаторов уменьшится, поэтому используйте этот цикл для удаления ... в противном случае, если вы не хотите удалять, вы можете использовать некоторые из указанных выше циклов: D
TableLayout table = (TableLayout) findViewById(R.id.tblScores);
for(int i = 0; i < table.getChildCount(); i = 0)
{
View child = table.getChildAt(0);
if (child != null && child instanceof TableRow)
{
TableRow row = (TableRow) child;
row.removeAllViews();
table.removeViewAt(i);
}
}
Это очищает все строки!
Я думаю, что ваша основная проблема в том, что если вы удалите строки, все строки будут заново размещены, так что строка с ID = 5 теперь будет ID = 4, если вы удалите строку с ID = 3
так что, возможно, вам придется сбросить счетчик и выполнить итерацию снова, или вы создадите новую таблицу после очистки всех строк