回调函数的使用
Posted 小筱萌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回调函数的使用相关的知识,希望对你有一定的参考价值。
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( "" ) ;
以上是关于回调函数的使用的主要内容,如果未能解决你的问题,请参考以下文章