本文地址: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地址:点击打开链接