繁体   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