本文地址:http://blog.csdn.net/xiehao_95/article/details/44658941
原来刚接触回调函数的时候觉得各种绕,其实实现起来挺简单的,而且回调函数可以方便数据传递,方法传递好处多多。
简单的使用一下回调,供新手理解,上代码。
MainActivity.java代码
package com.example.callbackdemo;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import com.example.callbackdemo.Mycallback.selfCallBack;
public class MainActivity extends Activity implements selfCallBack {//实现回调
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onToastShow(int age) {//具体实现回调方法
Toast.makeText(this, "我是通过回调实现的!"+age, Toast.LENGTH_LONG).show();
}
public void click(View v){//调用对象的方法
Mycallback mcb=new Mycallback(this);
mcb.show();
}
}
Mycallback.java代码
package com.example.callbackdemo;
import android.content.Context;
public class Mycallback {
private int age = 11;// 需要被传出去的参数
public interface selfCallBack {
public void onToastShow(int age);
}
private selfCallBack callback;// 声明回调
public Mycallback(Context context) {
super();
this.callback = (selfCallBack) context;// 实例化回调
}
public void show() {
callback.onToastShow(age);// 使用回调的方法
}
}
步骤总结
需要使用回调的类中
1.声明回调接口
2.声明回调对象
3.给回调对象赋值(构造函数中或其他)
4.使用回调函数
实现回调的类中
1.声明实现回调
2.实现回调中的方法
demo地址:点击打开链接