gpt4 book ai didi

android - AsyncTask 完成后无法关闭 ProgressDialog

转载 作者:太空宇宙 更新时间:2023-11-03 12:09:04 24 4
gpt4 key购买 nike

请帮忙,我无法在 AsyncTask 完成后关闭 ProgressDialog。我搜索了答案,但没有找到。当我使用 Thread 而不是 AsyncTask 时,这段代码工作正常。有什么想法吗?

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);
}
}

最佳答案

   private ProgressDialog progressDialog;   // class variable       

private void showProgressDialog(String title, String message)
{
progressDialog = new ProgressDialog(this);

progressDialog.setTitle(title); //title

progressDialog.setMessage(message); // message

progressDialog.setCancelable(false);

progressDialog.show();
}

onPreExecute()

    protected void onPreExecute()
{
showProgressDialog("Please wait...", "Your message");
}

检查并关闭 onPostExecute() -

    protected void onPostExecute() 
{
if(progressDialog != null && progressDialog.isShowing())
{
progressDialog.dismiss();
}
}

关于android - AsyncTask 完成后无法关闭 ProgressDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17585759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com