当我单击从 Web 服务打开单击项的数据的列表项时,我想打开一个 ProgressDialog。ProgressDialog 需要出现,直到被点击的 Item 的 WebContent 被打开。
我知道使用进度对话框的代码,但我不知道如何特别关闭它。
我听说 Handler 将用于关闭进度对话框,但我没有找到最终使用 Handler 的任何有价值的例子。
谁能告诉我如何使用处理程序来关闭进度对话框?
谢谢,大卫
当我单击从 Web 服务打开单击项的数据的列表项时,我想打开一个 ProgressDialog。ProgressDialog 需要出现,直到被点击的 Item 的 WebContent 被打开。
我知道使用进度对话框的代码,但我不知道如何特别关闭它。
我听说 Handler 将用于关闭进度对话框,但我没有找到最终使用 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();
}
这是被调用的网络服务
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();