前言:如果对android回调的概念不明白的请看:android 回调函数一:基本概念

1、定义接口

package com.app.util; public interface ZYJCallBack { public void dataResult( String resultString ) ; public void progress( Integer progress ) ; public void start() ; }


2、实体

package com.app.util; import android.os.AsyncTask; public class ZYJAsyncTask  extends AsyncTask< String , Integer , String > { ZYJCallBack zyjCallBack ; //开始 @Override protected void onPreExecute() { super.onPreExecute(); zyjCallBack.start(); } /** * 特别注意:publishProgress( 10 ); * 这一句一定要写,否则 onProgressUpdate() ,这个方法不会被回调 */ @Override protected String doInBackground(String... params) { publishProgress( 10 ); publishProgress( 20 ); publishProgress( 50 ); publishProgress( 100 ); return "哈哈哈,操作完成了" ; } //onProgressUpdate方法用于更新进度信息  @Override protected void onProgressUpdate(Integer... progresses) { zyjCallBack.progress( progresses[0] ); } @Override protected void onPostExecute(String result) { super.onPostExecute(result); zyjCallBack.dataResult( result ); } public void setCallBackListener(ZYJCallBack zyjCallBack){ this.zyjCallBack = zyjCallBack ; } }

3、回调

package com.android10; import com.app.util.ZYJAsyncTask; import com.app.util.ZYJCallBack; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView( R.layout.activity_main ); ZYJAsyncTask zyjAsyncTask = new ZYJAsyncTask() ; zyjAsyncTask.setCallBackListener( new ZYJCallBack() { @Override public void start() { System.out.println("ssss开始了" ) ; } @Override public void progress(Integer progress) { System.out.println("ssss进度为: " + progress ) ; } @Override public void dataResult(String resultString) { System.out.println("ssss结果是:" + resultString ) ; } }); zyjAsyncTask.execute( "" ) ; } }


4、运行结果

ssss开始了
ssss进度为: 10
ssss进度为: 20
ssss进度为: 50
ssss进度为: 100

ssss结果是:哈哈哈,操作完成了

更多相关文章

  1. 2011.07.11(3)——— android xliff字符串操作
  2. android进度条
  3. Android 入门第八讲02-WebView的高级用法(Android调用 JS 代码( lo
  4. Android for opencv(1)android使用opencv基本操作:读写 图片,操作像
  5. 获取Android的Java源代码并在Eclipse中关联查看的最新方法

随机推荐

  1. android 数据存取——SharedPreferences
  2. Android(安卓)Wear Preview - Get Starte
  3. Gradle:Basic Project
  4. Android(安卓)Studio升级3.2以后 Android
  5. Mono登录界面记住密码的控件
  6. Android(安卓)本地推送消息到通知栏 Noti
  7. Android(安卓)简单音乐播放器(破烂版,后续
  8. android 源码编译同步的小问题
  9. android 文本转语音
  10. 【android】时间选择器