我有这样的代码:

在单击按钮时,我编写了以下代码:

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

09-10 06:18
查看更多