回调的简单实现
2018-03-08 11:34
344 查看
首先,新建一个接口CallBackA
第一种方法,通过构造方法传入interface
新建ClassA,编写参数为CallBackA的构造方法
在ClassA中需要回调的地方调用callBackA.showA方法
ClassA的全部代码
接收回调内容的类MainActivity
先得到ClassA的对象,顺便将CallBackA传到ClassA中。传参的方式有两张,一种是将CallBackA直接new出来,
另一种是让MainActivity实现CallBackA,将this传入。
第二种方法是在需要回调的对象里编写一个公共的方法,当然参数还是CallBackA
拿到对象后,调用setCallBack方法将CallBackA传进去。和上面一样,传的方法有两种。
公共方法这个传入方法,我一般用在Service中,因为Service不能new出来,只能通过bindService得到Service对象后调用里面的方法将CallBackA传入。
public interface CallBackA { void showA(String str); }
第一种方法,通过构造方法传入interface
新建ClassA,编写参数为CallBackA的构造方法
public ClassA(CallBackA callBackA) { this.callBackA = callBackA; }
在ClassA中需要回调的地方调用callBackA.showA方法
public void netWork(){ callBackA.showA("A"); }
ClassA的全部代码
public class ClassA { private CallBackA callBackA; public ClassA(CallBackA callBackA) { this.callBackA = callBackA; } public void netWork(){ callBackA.showA("A"); } }
接收回调内容的类MainActivity
先得到ClassA的对象,顺便将CallBackA传到ClassA中。传参的方式有两张,一种是将CallBackA直接new出来,
ClassA classA = new ClassA(new CallBackA() { @Override public void showA(String str) { Toast.makeText(getApplicationContext(), str, Toast.LENGTH_LONG).show(); } }); classA.netWork();
另一种是让MainActivity实现CallBackA,将this传入。
public class MainActivity extends AppCompatActivity implements CallBackA{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ClassA classA = new ClassA(this); classA.netWork(); } @Override public void showA(String str) { Toast.makeText(getApplicationContext(), str, Toast.LENGTH_LONG).show(); } }
第二种方法是在需要回调的对象里编写一个公共的方法,当然参数还是CallBackA
public void setCallBack(CallBackA callBackA) { this.callBackA = callBackA; }
拿到对象后,调用setCallBack方法将CallBackA传进去。和上面一样,传的方法有两种。
公共方法这个传入方法,我一般用在Service中,因为Service不能new出来,只能通过bindService得到Service对象后调用里面的方法将CallBackA传入。
相关文章推荐
- 简单实现 BroadcastReceiver 回调
- 简单的C++委托 —— 用模板类实现类成员函数的回调
- 一个简单的java回调函数的实现
- JS - 闭包,回调,立即执行函数表达式简单实现
- js中, apply方法简单理解(实现回调函数及参数传递)
- block回调的简单实现
- 简单的自定义ajax类,实现ajax回调
- 简单回调机制的Java实现
- android 接口回调的简单实现
- java回调简单实现
- vb.net2005中回调功能的简单实现
- 回调类 及 绑定器的简单实现
- 一个简单消息中心,实现回调的扁平化
- 简单记录,回调 监听的实现
- ASP.NET实现回调服务器的简单方法.
- java回调简单实现
- 函数指针之回调函数简单实现
- [Objective-C] Block实现回调和简单的学习思考
- 一个简单的java回调函数的实现