Android回调
来源:互联网 发布:网络语ko是什么意思 编辑:程序博客网 时间:2024/06/06 12:47
Android中的回调其实就是:
A类调用B类的方法,B类需要时间处理,当B类处理完成后通过调用A类的方法把结果回传给A类。
举个网上很流行的例子:
你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。
在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。
示例代码
- 回调监听
public interface CallbackListener { void method1(); void method2();}
- B类:将结果通过方法回调给调用方
public class AssistClass { public boolean doSomething(final CallbackListener listener){ new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(1000); listener.method1(); Thread.sleep(1000); listener.method2(); }catch (Exception e){ Log.i("yico",e.toString()); } } }).start(); return true; }}
- A类:注册回调,调用B类方法
public class ActivityCallback extends AppCompatActivity implements CallbackListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_callback); Button btn_start = (Button) this.findViewById(R.id.btn_start); btn_start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AssistClass c = new AssistClass(); boolean b = c.doSomething(ActivityCallback.this); Log.i("yico", "b = " + b); } }); } @Override public void method1() { Log.i("yico", "method1"); } @Override public void method2() { Log.i("yico", "method2"); }}
1 0
- android 回调
- Android回调
- Android 回调
- Android回调
- android回调
- Android回调
- android 回调
- android 回调
- Android 回调
- Android 回调
- Android回调——Android模块化编程
- Android调用JS && JS回调Android原生
- Android JNI回调
- android Fragment onActivityResult回调
- Android 模拟Button 回调
- 浅谈android回调
- Java/Android回调
- Android
- Centos7四部快速安装配置可使用的vsftpd
- QT实现快捷键的三种方式
- Ubuntu16.04安装Docker1.12+开发实例+hello world+web应用容器
- RGB与HSB之间的转换公式
- CentOS6.6下的Nginx安装
- Android回调
- IOS获取下个月最后一天
- jasperReport和JasperServer的使用实例
- struts基本结构
- Hive入门--3.UDF编写与使用
- 每日安全简讯20160721
- HDU5289
- poj2387 Til the Cows Come Home
- eclipse自动提示功能没了的解决办法