最一开始想要学习接口回调的使用方法, 但是网上的什么小李小明打电话, 什么老板员工打电话, 让我理解的一头雾水, 后来看了一段时间总算是有了一些用法和 层面上的基础理解, 所以写一个小小的笔记记录一下现在的思路, 以免以后长时间不用遗忘, 有可能的话也能帮助初学者一起进步一起理解.
首先我们定义一个接口类 CallBack;
public interface CallBack {
void callBack(String string);
}
然后第二步是在需要收到回调信息的类实现接口, 然后实现他的方法,可以理解成实现接口, 值要回调到这里;
public class MainActivity extends AppCompatActivity implements CallBack { // 1, 实现接口
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.tv);
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("消息发过去了");
// 2, 传递处理前的值
new Info(new MainActivity(),"发送的消息");
}
});
}
@Override
public void callBack(String string) { // 5, 接收到回调的经过处理后的值
System.out.println("Main收到了回调: " + string);
}
}
然后需要调用mCallBack.callBack("里面是回调给实现接口的类, 也就是MainActivity");
public class Info{ CallBack mCallBack; String mString; public Info(CallBack click , String message) { // 3, 对传递过来的值进行处理 this.mClick = click; this.mString = "Info处理过后的:" + message; System.out.println("Info"+"回调到位了"); System.out.println("Info"+"那么我来处理一下"); System.out.println(mString); // 4, 把处理后的结果传递回接口
}}mCallBack.callBack(mString);
然后 //5 就会打印出结果.