[英]progress dialog not showing in android?
什么時候進度對話框沒有在android中顯示? 我想知道上述情況發生時的情況:
在我的情況下,在這種情況下,進度對話框沒有顯示:
func{
progressdialog.show();
....
.....
anotherfunction();
listview.setAdapter();
progressdialog.dismiss();
}
對話框的一般經驗法則是什么?
先感謝您。
執行.show()命令時編輯 ,進度對話框應該顯示。 但是當調用otherfucntion()時,progressdialog的上一個命令是否會停止?
好像你需要使用AsyncTask ,如果UI線程仍然忙,UI(包括progressDialog)將不會更新。 SO中有很多例子。
根據經驗 - 如果您需要進度對話框 - 您需要AsyncTask 。
並不是任何命令停止,只是如果你在UI線程上執行一系列方法,UI可能不會更新,直到序列結束,這是在progressDialog.dismiss()
,所以progressDialog應該不再顯示了。
我想你必須在你的活動中這樣做。
ProgressDialog _progressDialog = ProgressDialog.show(this,"Saving Data","Please wait......");
settintAdater();
private void settingAdater(){
Thread _thread = new Thread(){
public void run() {
Message _msg = new Message();
_msg.what = 1;
// Do your task where you want to rerieve data to set in adapet
YourCalss.this._handle.sendMessage(_msg);
};
};
_thread.start();
}
Handler _handle = new Handler(){
public void handleMessage(Message msg) {
switch(msg.what){
case 1:
_progressDialog.dismiss();
listview.setAdapter();
}
}
}
顯示ProgressDialog使用情況
ProgressDialog progressDialog = ProgressDialog.show(PrintMain.this, "",
"Uploading Document. Please wait...", true);
當你完成任務使用時
progressDialog.dismiss();
解雇ProgressDialog ..
您可以調用在AsyncTask
類的onPreExecute
方法中顯示ProgressDialog,並在onPreExecute
方法中完成onPostExecute
其關閉
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.