asynctask上的模态HUD

Jon*_*Wei 3 android

我在Android上工作.将有一个菜单,当访问时,从服务器(500+)请求相当大的用户列表,大约需要5秒钟.在此期间,应用程序冻结.我如何显示进度hud(如MBProgressHud),其中用户意识到某些事情正在发生,并且在完成之前无法触及它.

MBProgressHud:

HUD示例

Ale*_* C. 6

使用AsyncTask:

public class MyAsyncTask extends AsyncTask<Void, Void, Result>{

                        private Activity activity;
                        private ProgressDialog progressDialog;

            public MyAsyncTask(Activity activity) {
                            super();
                this.activity = activity;
            }

            @Override
            protected void onPreExecute() {
            super.onPreExecute();
                progressDialog = ProgressDialog.show(activity, "Loading", "Loading", true);
            }

            @Override
            protected Result doInBackground(Void... v) {
            //do your stuff here
            return null;

            }

            @Override
            protected void onPostExecute(Result result) {
                progressDialog.dismiss();
                Toast.makeText(activity.getApplicationContext(), "Finished.", 
                        Toast.LENGTH_LONG).show();
            }


}
Run Code Online (Sandbox Code Playgroud)

从活动中调用它:

MyAsyncTask task = new AsyncTask(myActivity.this);
task.execute();
Run Code Online (Sandbox Code Playgroud)