我正在使用TabActivity
和4個單獨的Activities
- 每個選項卡一個。在使用TabActivity顯示之前,活動從服務器加載xml
其中一個Activities
是ListView
,有一個自定義ArrayAdapter
。
問題是,當我按下Tab切換到此視圖時,Activity
在視圖更改之前加載內容,這看起來好像幾秒鐘內沒有任何事情發生,直到xml
加載並解析爲止。
我找過一個例子,但這是我的第一個Android應用程序,我很難理解流程。
任何人都可以點我的一些代碼,讓我瞬間改變觀點(我可以告訴用戶加載內容),同時加載在後臺線程內容
謝謝
編輯 - 我我正在從現有的iOS應用程序移植代碼 - 我無法更好地闡述問題,因爲我沒有意識到如何在這種情況下阻止UI線程,並且由於現有代碼和截止日期的複雜性,我沒有不想改變結構太多。
我在看到您的代碼Jennifer之前縮小了這個問題,但它是我使用的解決方案,所以我把您的問題標記爲正確。
這裏是我使用,如果它可以幫助其他人,我不得不把我叫觸發數據加載到後臺線程,然後顯示內容的功能時,該線程已經完成了它的工作
該類是在我的
public class TableView extends ListActivity
這是我很難讓我周圍已經以前沒有做過這個頭聲明;)
public class GetContentTask extends AsyncTask<Void, Void, Void> {
private ProgressDialog pdialog;
@Override
protected void onPreExecute(){
super.onPreExecute();
pdialog = new ProgressDialog(TableView.this);
pdialog.setTitle(progressDialogTitle);
pdialog.setMessage(progressDialogMessage);
pdialog.show();
}
@Override
protected void onPostExecute(Void result){
super.onPostExecute(result);
setUpAndLoadList(); // the function to display the list and fill it with content
pdialog.dismiss();
}
@Override
protected Void doInBackground(Void... params) {
doInitialLoad(); // The function to load any xml data from server
return null;
}
}
什麼叫「如何附上一個ArrayAdapter和回來的內容」 – jennifer