簡體   English   中英

進度對話框沒有在android中顯示?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM