我有这样的代码:
在单击按钮时,我编写了以下代码:
new Loadiing().execute();
它带到我创建的AsyncTask类,我的类如下所示:
public class Loadiing extends AsyncTask<Void,Void,Void>{
ProgressDialog d= new ProgressDialog(Main.this);
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
ProgressDialog.show(Main.this, "", "Loading");
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
**A method which returns some data in a arrayadapter and sets it;**
return null;
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
d.dismiss();
}
}
但是它只是启动警报对话框,在后台什么也没做,并且对话框没有被关闭,该怎么办?
最佳答案
应该是
d.show();
而不是
ProgressDialog.show(Main.this, "", "Loading");
更新:就您而言,
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
d.setTitle("Loading");
d.show();
}