ProgressDialog 不显示 [重复]
Posted
技术标签:
【中文标题】ProgressDialog 不显示 [重复]【英文标题】:ProgressDialog doesn't show [duplicate] 【发布时间】:2020-01-26 12:54:48 【问题描述】:我希望在我的活动获取一些数据时出现一个进度对话框。我使用了异步任务,但它没有显示 我已经尝试了之前 Stack Overflow 问题的所有答案,但它们似乎都不适合我
private class BackgroundSync extends AsyncTask<Void,Void,Void>
ProgressDialog progress = new ProgressDialog(MainActivity.this);
@Override
protected void onPreExecute()
progress.setMessage("Loading");
progress.setTitle("Loading");
progress.show();
super.onPreExecute();
@Override
protected Void doInBackground(Void... voids)
/get data
return null;
@Override
protected void onPostExecute(Void aVoid)
progress.dismiss();
super.onPostExecute();
我也试过这个
progress = ProgressDialog.show(MainActivity.this,"Loading","Loading");
正如一个堆栈溢出答案所建议的那样,但它仍然没有显示
我也使用了下面的代码,但是这次ProgressDialog
没有消失
private class BackgroundSync extends AsyncTask<Void,Void,Void>
ProgressDialog progress
@Override
protected void onPreExecute()
progress = new ProgressDialog(MainActivity.this);
progress.show(MainActivity.this,"Loading","Loading");
super.onPreExecute();
@Override
protected Void doInBackground(Void... voids)
SyncEvents();
return null;
@Override
protected void onPostExecute(Void aVoid)
progress.dismiss();
`
我该怎么办?这个ProgressDialog
问题已经花费了 2 个多小时来解决
【问题讨论】:
问题出在您的 MainActivity.this.check 以上建议以获取更多详细信息 【参考方案1】:使用此代码
private class BackgroundSync extends AsyncTask<Void, Void, Void>
private ProgressDialog dialog;
public BackgroundSync(MyMainActivity activity)
dialog = new ProgressDialog(activity);
@Override
protected void onPreExecute()
dialog.setMessage("Loading");
dialog.setTitle("Loading");
dialog.show();
@Override
protected Void doInBackground(Void... args)
// do background work here
return null;
@Override
protected void onPostExecute(Void result)
// do UI work here
if (dialog.isShowing())
dialog.dismiss();
【讨论】:
以上是关于ProgressDialog 不显示 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin.Android:ProgressDialog 不显示