ProgressDialog和AsyncTask结合使用

来源:互联网 发布:中山淘宝摄影 编辑:程序博客网 时间:2024/06/10 08:22
package com.example.administrator.asynctask;import android.app.ProgressDialog;import android.os.AsyncTask;import android.os.Bundle;import android.os.SystemClock;import android.support.v7.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {    private String path="http://blog.csdn.net/a1030260075/article/details/50560222";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        new MyClass().execute(path);    }    class  MyClass extends AsyncTask<String,Integer,Void>{        private ProgressDialog progressDialog;        @Override        protected void onPreExecute() {            super.onPreExecute();            progressDialog = new ProgressDialog(MainActivity.this);            progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);            progressDialog.setMax(10);            progressDialog.show();        }        @Override        protected Void doInBackground(String... strings) {            //我们可以在这个地方做网络请求的操作,运行在子线程,通过strings0】可以拿到网址            System.out.println(Thread.currentThread().getName()+"~~~~~~~~~~"+strings[0]);            for (int i= 1; i <11 ; i++) {                publishProgress(i);                SystemClock.sleep(300);            }            return null;        }        @Override        protected void onProgressUpdate(Integer... values) {            super.onProgressUpdate(values);            progressDialog.setProgress(values[0]);        }        @Override        protected void onPostExecute(Void aVoid) {            super.onPostExecute(aVoid);            progressDialog.dismiss();        }    }}
阅读全文
1 0
原创粉丝点击