为什么不使用AsyncTask
. 您可以告诉 Task ononPreExecute()
以显示“请稍候”对话框,然后onPostExecute(Result result)
您可以删除该对话框。这两种方法doInBackground(Params... params)
在后台线程中发生时在 UI 线程上工作。
例子:
private class GetGPSTask extends AsyncTask<null, null, null>{
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
showWaitDialog(); <-Show your dialog
}
@Override
protected void doInBackground(null) {
//your code to get your GPS Data
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
HideDialogbox(); <-Code to hide the dialog box
}
}
如果需要,请记住更改模板类型。在它说 AsynTask 的地方,第一个值被传递给doInBackground
,第二个值是进度值,第三个值是来自doInBackground
to的返回值onPostExecute
。