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