Android Can';异步任务完成后,不要关闭ProgressDialog
请帮助,我无法在任务完成后关闭ProgressDialog。我寻找答案,但什么也没找到。 当我使用Thread而不是AsyncTask时,这段代码运行良好。 你有什么想法吗Android Can';异步任务完成后,不要关闭ProgressDialog,android,android-asynctask,progressdialog,Android,Android Asynctask,Progressdialog,请帮助,我无法在任务完成后关闭ProgressDialog。我寻找答案,但什么也没找到。 当我使用Thread而不是AsyncTask时,这段代码运行良好。 你有什么想法吗 Context appContext; ProgressDialog pd; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); appContext=this; M
Context appContext;
ProgressDialog pd;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
appContext=this;
MyTask myTask=new MyTask();
myTask.execute();
}
class MyTask extends AsyncTask<Void, Void, Void>
{
@Override
protected void onPreExecute()
{
pd = ProgressDialog.show(appContext, "Wait..", "Loading data",
true, false);
pd.setCancelable(false);
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... arg0)
{
//something
return null;
}
@Override
protected void onPostExecute(Void result)
{
if (pd!=null)
pd.dismiss();
super.onPostExecute(result);
}
}
Context-appContext;
进展性帕金森病;
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
appContext=this;
MyTask MyTask=新建MyTask();
myTask.execute();
}
类MyTask扩展了AsyncTask
{
@凌驾
受保护的void onPreExecute()
{
pd=ProgressDialog.show(appContext,“等待…”,“加载数据”,
正确的,错误的);
pd.可设置可取消(假);
super.onPreExecute();
}
@凌驾
受保护的Void doInBackground(Void…arg0)
{
//某物
返回null;
}
@凌驾
受保护的void onPostExecute(void结果)
{
如果(pd!=null)
pd.解散();
super.onPostExecute(结果);
}
}
onPreExecute()
protected void onPreExecute()
{
showProgressDialog("Please wait...", "Your message");
}
检查并取消onPostExecute()-
protected void onPostExecute()
{
if(progressDialog != null && progressDialog.isShowing())
{
progressDialog.dismiss();
}
}
试试这个
private Context context;
private ProgressDialog dialog;
public LastStageTask(Context cxt) {
context = cxt;
dialog = new ProgressDialog(context);
}
@Override
protected void onPostExecute(String result) {
dialog.dismiss();
}
-为了清楚起见…您将上下文对象命名为“appContext”。这实际上是您的活动的上下文,而不是您的应用程序的上下文。在Android的世界里,这是两件截然不同的事情。
private Context context;
private ProgressDialog dialog;
public LastStageTask(Context cxt) {
context = cxt;
dialog = new ProgressDialog(context);
}
@Override
protected void onPostExecute(String result) {
dialog.dismiss();
}