ANDROID - 在循环期间动态添加元素到屏幕

时间:2012-01-21 13:24:16

标签: android for-loop tablelayout

大家!

我正在制作一个Android程序,我需要在for循环期间在TableLayout上列出一些文本。问题是我有很多行,我想逐渐添加它们,看起来不慢,但Android只在循环结束时调用invalidate()方法。

我的来源如下:

Handler handler = new Handler();
subcategoriasLayout.addView(tableLayout);  
for (Product product : listProdutos) {  
    TableRow itemRow = new TableRow(this);  
    TextView descricao = new TextView(this);  
    descricao.setText(produto.toString());  
    itemRow.addView(descricao);  

    itemRow.addView(new EditText(this), rowLayoutParams);  

    tableLayout.addView(itemRow);  

    if (++cont % 10 == 0) {  
        handler.postDelayed(new Runnable() {  

            public void run() {  
                subcategoriasLayout.invalidate();  
            }  
        }, 10);  
    }  
} 
subcategoriasLayout.invalidate();  

非常感谢

1 个答案:

答案 0 :(得分:0)

你应该在AsyncProcess中加载所有这些东西,使它看起来像流体而不是使用循环。