在Activity中獲取AsyncTask中更新progress的值,可用在文件的上傳和下載同步顯示進度

public class MyAsyncTask extends AsyncTask<String, Integer, Void>{



      public AsyncResponse mAsyncResponse = null;

       @Override
protected void onPreExecute() {
super.onPreExecute();
}

      @Override

      protected Void doInBackground(String...  params){

      //線程體,需要訪問網絡的一些操作

      }



   @Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);

             // 在Activity'中獲取progress更新的值

               if(mAsyncResponse != null){
mAsyncResponse.progressUpdate(values[0]);
}
}

@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);

}



   //創建一個接口

   public interface AsyncResponse{
public void progressUpdate(int value);

}



//在Activity中

public  class MyActivity extends Activity implements AsyncResponse{


    private MyAsyncTask task;

         protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(//佈局文件...);

               task = new MyAsyncTask();

              task.mAsyncResponse
}

       @Override
public void progressUpdate(int value) {
// TODO Auto-generated method stub

               //進行一些界面UI中控件值的更新


}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章