浅理解接口回调
来源:互联网 发布:捕鱼软件下载 编辑:程序博客网 时间:2024/06/05 21:17
接口回调的目的就是实现类A的方法调用类B的方法,形式就是类A调用类B的方法,再在类B执行一些代码之后再调用类A的方法,这样就能类A运行类B的方法并且得到类B运行完返回的数据。
也就是类A调用类B的methodB,再类B调用类A的methodA,其中methodB方法是你想执行的方法,methodA是 methodB执行很多很多操作之后 接受数据的方法。具体的实现流程就是类A集成一个interA接口 类A调用methodB方法 并且传入类A的对象,类B中用接口interA接着类A的对象 methodB执行一些操作后 接口对象.methodA 再在类A里面写 回调之后的操作 接口里面的方法methodA是准备返回的数据方法。
情形一:
public interface MyCallBack { public void methodD(int myresult);}
package zhongchao.com.testduixiang;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import zhongchao.com.testduixiang.test.TestSomething;/** * Created by Administrator on 2017/3/31. */public class Main3Activity extends AppCompatActivity implements MyCallBack{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ClassB classB=new ClassB(Main3Activity.this); classB.methodB(); } @Override public void methodD(int myresult) { Log.w("inter","methodD:"+myresult); }}
package zhongchao.com.testduixiang;import android.util.Log;/** * Created by Administrator on 2017/3/31. */public class ClassB { private MyCallBack myCallBack; private int myresult=100; public ClassB(MyCallBack myCallBack) { this.myCallBack = myCallBack; } public void methodB(){ Log.w("inter","这个是方法B"); myCallBack.methodD(myresult); }}
结果:
03-31 15:21:53.180 25624-25624.testduixiang W/inter: 这个是方法B
03-31 15:21:53.190 25624-25624.testduixiang W/inter: methodD:100
情形二:
public interface MyCallBack { public void methodD(int myresult);}
public class Main3Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ClassB classB=new ClassB(new MyCallBack() { @Override public void methodD(int myresult) { Log.w("inter","methodD: "+myresult); } }); classB.methodB(); }}
public class ClassB { private MyCallBack myCallBack; private int myresult=100; public ClassB(MyCallBack myCallBack) { this.myCallBack = myCallBack; } public void methodB(){ Log.w("inter","这个是方法B"); myCallBack.methodD(myresult); }}
情形三
public interface MyCallBack { public void methodD(int myresult);}
public class Main3Activity extends AppCompatActivity implements MyCallBack{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ClassB classB=new ClassB(); classB.methodB(Main3Activity.this); } @Override public void methodD(int myresult) { Log.w("inter","methodD:"+myresult); }}
public class ClassB { private int myresult=100; public void methodB(MyCallBack myCallBack){ Log.w("inter","这个是方法B"); myCallBack.methodD(myresult); }}
总结:
A类是正在运行的类,A类的任务是吧接口的实现类对象传到B类 B类是运用这个对象。
0 0
- 浅理解接口回调
- 接口回调-自己理解
- 简单理解接口回调
- 接口回调机制理解
- 接口回调基础理解
- Java回调接口的理解
- android中接口回调的理解
- Android回调接口简单理解
- Android接口回调深入理解
- 接口回调(重点是理解)
- 一个故事理解什么是接口回调
- Android对回调接口的理解
- 关于android接口回调的理解
- 对于接口回调的简单理解
- java中接口回调的理解
- android回调的理解------异步任务回调接口
- 最简单的方式理解“接口回调”的设计
- 最简单的方式理解“接口回调”的设计
- Accessing Device Files From Kernel Space Code
- Map 如何循环输出
- http常见状态码
- 知识海洋
- 【C++】【LeetCode】5. Longest Palindromic Substring
- 浅理解接口回调
- PAT_1011. World Cup Betting
- 从影片《点球成金》看大数据如何创造商业奇迹!
- 将elasticsearch设置为windows系统服务
- 打开vmware的centos虚拟机提示锁定文件失败 打不开磁盘
- LeetCode算法题目:Partition List
- LeetCode: Pascal's Triangle II
- win7 64 + xbmc-17.1rc1-Krypton + vs2015编译
- 欢迎使用CSDN-markdown编辑器