簡體   English   中英

在Android中解雇ProgressDialog

[英]ProgressDialog dismissal in android

當我單擊列表項時,我想打開一個ProgressDialog,它打開了Web服務所單擊項的數據。 需要出現ProgressDialog,直到單擊的項的WebContent被打開。

我知道使用Progress Dialog的代碼,但我不知道如何解雇它。

我聽說Handler將用於解雇Progress Dialog,但我沒有找到最終使用Handler的任何有價值的例子。

任何人都可以告訴我如何使用處理程序來關閉進度對話框?

謝謝,大衛

嗨,這就是你想要的

        public void onClick(View v)
        {
            mDialog = new ProgressDialog(Home.this);
            mDialog.setMessage("Please wait...");
            mDialog.setCancelable(false);
            mDialog.show();
            new Thread(new Runnable()
            {
                @Override
                public void run()
                {
                    statusInquiry();
                }
            }).start();
        }

這是被調用的web webservice

void statusInquiry()
{
    try
    {
        //calling webservice
                    // after then of whole web part you will send handler a msg
        mHandler.sendEmptyMessage(10);
    }
    catch (Exception e)
    {
        mHandler.sendEmptyMessage(1);
    }
}

這里是處理程序代碼

Handler mHandler = new Handler()
{
    public void handleMessage(android.os.Message msg)
    {
        super.handleMessage(msg);

        switch (msg.what)
        {
            case 10:
                mDialog.dismiss();
                break;
                    }
             }
      }
 };

一個解決方案可能是這樣的:

ProgressDialog progressDialog = null;
    // ...
    progressDialog = ProgressDialog.show(this, "Please wait...", true);
    new Thread() {
        public void run() {
            try{
                  // Grab your data                                                
            } catch (Exception e) { }

            // When grabbing data is finish: Dismiss your Dialog 
            progressDialog.dismiss();
        }
   }.start();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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