0
我需要我的ListView在某些情況下延遲更新,所以我試圖用來做到這一點,而。它看起來是這樣的:android - 異步更新ListView數據
int m=2;
while (bigList.get(m).type !=1) {
final int n=m;
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
smallList.add(n, bigList.get(n));
adapter.notifyDataSetChanged();
}
}, bigList.get(n).delay);
m++;
}
但它只是推遲了第一次,然後更新一次全部,但我認爲延遲將是貫穿所有步驟而。我試圖殺死/關閉/敲定(只有最後一個存在)匿名Runnable,但沒有效果。如何做到這一點延遲每而一步?也許使用一些其他的結構或什麼是最好的方法?
感謝您的建議,我會盡力讓自己清楚如何與您的鏈接。但是我發現確切的問題 - postDelayed比「while」中的其他東西更重,所以它首先添加所有臨時項目,並且只有在替換它之後(因此,m ++比Handler部分早發生) –