简单回调机制的建立主要分为下面几步:
1.写一个回调类,写出需要的构造方法
2.定义一个接口,里面写一个抽象方法,方法体(String data)为所需要回调的数据
3.定义一个设置接口的方法,里面得到接口对象
4.定义一个发送数据的方法,当调用这方法时,数据自动发送及接受
如下:
package com.zzw.huidiao; public class SendData { private OnSendDataListener mOnSendDataListener = null; //1.写出所需要的构造方法 public SendData() { } //2.定义一个接口,里面写一个抽象方法,方法体(String data)为所需要回调得到的数据 public interface OnSendDataListener { public void onAcceptData(String data); } //3.定义一个设置接口的方法,里面得到接口对象 public void setOnSendDataListener(OnSendDataListener mOnSendDataListener) { this.mOnSendDataListener = mOnSendDataListener; } //4.定义一个发送数据的方法,当调用这方法时,数据自动发送及接受 public void send(String data) { mOnSendDataListener.onAcceptData(data); } }
使用的时候,只需new出这个方法的对象,然后使用setOnSendDataListener()的方法得到监听,在调用send()方法即可触发监听得到回调的数据
如下代码:
package com.zzw.huidiao; import com.zzw.huidiao.SendData.OnSendDataListener; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SendData mSendData = new SendData(); mSendData.setOnSendDataListener(new OnSendDataListener() { @Override public void onAcceptData(String data) { Log.d("通过回调收到的数据", data); } }); mSendData.send("通过回调类对象调用send方法发送的数据"); } }
结果如下: