文档章节

浅析接口,回调

Allen056
 Allen056
发布于 2015/04/13 09:40
字数 319
阅读 23
收藏 0

学了一段时间java,Android第一次写博客,记录下一个菜鸟的心得。一直没完全弄清回调的机制,不能灵活使用接口回调,被折磨了几次之后决定好好弄清接口回调。废话不多说,直接开始。

回调说直白一点就是由A可以使用B的代码用来干具体的事,举个例子来说假如你有100块,你可以决定怎么用,你妈,你爸也可以决定怎么用,当然具体的使用方式可以事不同的!下面结合Android举一个简单例子A使用B的字符串。

B类(被调用的)

public class BActivity {
 String dataString = "这是b的data";
 mInterface mmInterface;
 public void setlis(mInterface mInterface) {
  this.mmInterface = mInterface;   
  ddd();//
 }
 interface mInterface {
  void daying(String result);
 }
 public void ddd() {
  mmInterface.daying(dataString);
 }
}

A类(调用B)

 public class MainActivity extends Activity {
 TextView mTextView;
 BActivity mBActivity;
 mInterface mmiInterface = new mInterface() {
  @Override
  public void daying(String result) {
   mTextView.setText(result);
  }
 };
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  mTextView = (TextView) findViewById(R.id.test);
  mBActivity = new BActivity();
  mBActivity.setlis(mmiInterface);
 }
}

 在A種實例化B的對象,可以調用事先預留好的接口。此時就在A種調用了B的dataString 數據,我這裡是將他顯示在一個TextView上,當然也可以用來做其他的事!

 

© 著作权归作者所有

共有 人打赏支持
Allen056
粉丝 0
博文 2
码字总数 1286
作品 0
成都
私信 提问
如何绑定页面生命周期(二)-基于Android Architecture Components的Lifecycle实现

上篇文章如何绑定页面生命周期(一)-Glide实现介绍了Glide实现生命周期感知的原理,这里我们再介绍基于Android Architecture Components的Lifecycle实现页面生命周期感知。 Lifecycle是And...

宇是我
07/29
0
0
浅析java callback 回调模式

看过spring、hibernate源码的朋友对callback回调模式应该并不陌生,用一句话来概括就是:“if you call me, i will call back”,说白了,就是有相互依赖关系的两个类之间的互相调用,现在看...

方绍伟
2014/01/06
419
3
DownloadManager之DownloadService浅析

用粗糙而简陋的语言描述完了Andriod系统的DownloadManager的DownloadThread类,那么,继续我们的粗糙吧。现在就来描述一下DownloadManager的生命——DownloadService类。一如前面的思路,现在...

刘焱
2014/03/20
0
1
Boost ASIO proactor 浅析

Boost ASIO proactor 浅析 前情提要: Boost asio 的socket的异步非阻塞模式才有的是proactor模式,当IO操作介绍后回调相应的处理函数。ASIO在Linux平台下的实现基于epoll,但是epoll只支持r...

晨曦之光
2012/06/07
626
0
浅析Promise内部实现与细节

前言 早前有针对 的语法写过博文,不过仅限入门级别,浅尝辄止食而无味。后面一直想写 实现,碍于理解程度有限,多次下笔未能满意。一拖再拖,时至今日。 随着 Promise/A+规范、ECMAscript规...

代码君的自白
2017/12/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
12
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
9
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
8
0
在PC上测试移动端网站和模拟手机浏览器的5大方法

总结很全面,保存下来以备不时之需。原文地址:https://www.cnblogs.com/coolfeng/p/4708942.html

kitty1116
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部