我在android中使用進度條,以便直到我的數據加載,用戶得到正確的反饋。 的欄中的代碼如下:使用進度條結束不填充列表視圖
final ProgressDialog myProgressDialog;
myProgressDialog = ProgressDialog.show(ListingPage.this,"Please Wait", "Loading Date", true);
new Thread() {
public void run() {
try{
setSelected();
sleep(5000);
} catch (Exception e) { }
myProgressDialog.dismiss();
}
}.start();
的setSelected()方法被插入數據到一個數組列表,然後創建一個數組適配器,然後使用列表視圖,以顯示這些項目。
所以當我把setSelected()方法放在進度條中時,它顯示加載循環,但一旦加載完成。在listview中沒有顯示任何內容。但是,如果我取出進度條形碼(線程和運行方法),並且只調用setSelected()方法,則listview會成功聲明數據。 到目前爲止它的結論是進度條代碼正在做一些事情......所以想知道我是否錯過了要添加或取出代碼的內容。我需要展示進度條,因爲我正在閱讀來自在線來源的數據,這需要時間,這可能會讓用戶感到不舒服。
Janusz! 我使用U子告訴上面的方法,但是,搜索欄掛在加載代碼是: 新的AsyncTask <太虛,太虛,太虛>(){// 這是在保護無效doInBackground(虛空背景 做... params){ setSelected(); 返回null; } //此UI在UI中完成線程 保護無效onPostExecute(長結果){ populateList(data); myProgressDialog.dismiss(); } } .execute(); 我想這個線程是懸空..這是?? – kaibuki 2010-07-29 11:07:19
對不起,我需要更多的代碼,然後在這裏真正發現一個錯誤。嘗試在原始問題中進行編輯 – Janusz 2010-07-29 12:27:09