Android开发之--- 使用RxBus实现页面之间的数据实时更新
来源:互联网 发布:流程数据保存失败 编辑:程序博客网 时间:2024/06/01 09:29
比如需求:
更改了用户头像,想要点击保存时候,另一个界面的头像位置 立即改变成刚刚更换的头像
首先,建一个实体类 RxEvent 里面声明他的头像属性,并且写出get set,当然其他地方也可能会有实时更新的需求,所以可以直接在这个类中定义多个属性
public class RxBusEvent { public String userNickname; public String userAvatar; public String refreshMyAlbumData; public String getUserNickname() { return userNickname; } public void setUserNickname(String userNickname) { this.userNickname = userNickname; } public String getUserAvatar() { return userAvatar; } public void setUserAvatar(String userAvatar) { this.userAvatar = userAvatar; } public String getRefreshMyAlbumData() { return refreshMyAlbumData; } public void setRefreshMyAlbumData(String refreshMyAlbumData) { this.refreshMyAlbumData = refreshMyAlbumData; }
需要 在 点击保存的事件里,发送出信息
先声明这个实体类 RxEvent rxEvent = new RxEvent();
然后通过这个实体类装载头像数据 rxEvent.setUserAvatar(" url ");
最后用RxBus发送信息:Rxbus.getDefault().post(rxEvent);
好了 现在已经将信息发送出去,接下来就是需要在需要的地方去接收 并拿到数据设置在需要的位置
RxBus.getDefault().toObservable(RxBusEvent.class) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Action1<RxBusEvent>() { @Override public void call(RxBusEvent rxBusEvent) { if (!TextUtils.isEmpty(rxBusEvent.getUserAvatar())) { Glide.with(MainActivity.this) .load(rxBusEvent.getUserAvatar() + "") .asBitmap().placeholder(R.drawable.icon_myself_touxiang).into(ivUserAvator); } } });
当然,有时候不需要发送信息,只需要发送类似广博的消息,这时候也可以用这个实现,比如上文实体类中有
setRefreshMyAlbumData
属性,发送信息时候就可以直接setRefreshMyAlbumData("请更新数据")
那边接收到信号直接更新数据
0 0
- Android开发之--- 使用RxBus实现页面之间的数据实时更新
- Android开发 之——利用RxBus实现数据更新
- Android Rxbus的使用
- Android RxBus的使用
- RxBus的实现和使用
- 使用php的swoole扩展实现数据实时更新(上)
- 使用php的swoole扩展实现数据实时更新(下)
- RxBus实现页面值的回传
- Android 开发之实时更新 App Widget
- Android 开发之实时更新 App Widget
- Android开发之--实时更新系统时间
- Android 开发之实时更新 App Widget
- Android开发之使用AsyncTask实现实时翻译
- RxBus的实现及简单使用
- RxBus的实现及简单使用
- RxBus的实现及简单使用
- RxBus的实现及简单使用
- Android系列之Activity页面之间的数据传递
- 车型对比
- 螺旋方阵 (sdut oj)
- 初识web开发
- PHY Linux 驱动
- java基础知识(2)
- Android开发之--- 使用RxBus实现页面之间的数据实时更新
- Android 线程基础
- 476. Number Complement
- ggg
- 百度编辑器 ueditor System.Web.HttpException: 未能执行 URL。
- Android apk安装过程及Java、JNI读取安装包内assets资源文件的两种方法(附源码实例)
- Bugly Android热更新详解
- (Bug汇总)
- JQuery 遍历web中的Table并对其进行操作