2014-11-08 3 views
0

Я использую следующий код, чтобы удалить строки из моего tablelayout;
System.out.println (vi); дает мне 4 уникальные строки, и это правильно, но почему мой цикл не удаляет сразу все строки. Мне нужно нажать 3 раза.Удалить все строки программно из TableLayout

Этот код помещается в myOnclickHandler;

public void onClick(View v) { 

    TableLayout container = (TableLayout) v.getParent().getParent(); 

    int childcount = container.getChildCount(); 
    View vi; 

    for (int i = 0; i < childcount; i++) { 

      vi = container.getChildAt(i); 
      container.removeView(vi); 


      System.out.println(vi); 
    } 


} 
+0

Вы проверяете ценность для детей? –

+0

Попробуйте container.removeAllViews() вместо этого. – user2203031

+0

да, так как я говорю, что я получил 4 уникальных строки в качестве результата –

ответ

0

попробовать:

row = (TableRow)findViewById(R.id.row); 
    table.removeView(row); 
+0

мой макет создан программно, thx –

0

использование этого оставить только строку заголовка.

if (table.getRootView() != null) { 
    int i = 1; 
    while (table.getChildCount() != 1) { 
     table.removeViewAt(i); 
    } 
}