大家!
我正在制作一个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();
非常感谢
答案 0 :(得分:0)
你应该在AsyncProcess中加载所有这些东西,使它看起来像流体而不是使用循环。