博客
关于我
EventBus简单Demo实现
阅读量:339 次
发布时间:2019-03-04

本文共 1615 字,大约阅读时间需要 5 分钟。

使用EventBus进行进程间通信。

源码:
MainActivity.java

public class MainActivity extends AppCompatActivity {       private static MediaInfoEvent meidaInfoEvent = new MediaInfoEvent();    @Override    protected void onCreate(Bundle savedInstanceState) {           super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                EventBus.getDefault().register(this);                findViewById(R.id.update_media).setOnClickListener(new View.OnClickListener() {               @Override            public void onClick(View v) {                   meidaInfoEvent.title = "Going Home";                meidaInfoEvent.author = "Sophie Zelmani";                meidaInfoEvent.ablum = "Going Home";                EventBus.getDefault().post(meidaInfoEvent);            }        });    }    @Override    public void onDestroy() {           super.onDestroy();        EventBus.getDefault().unregister(this);    }    @Subscribe(threadMode = ThreadMode.MAIN)    public void onUpdateMeidaInfo(MediaInfoEvent mediaEvent) {          TextView tvMediaInfo =  findViewById(R.id.media_info);       tvMediaInfo.setText( "title:" + mediaEvent.title + ",artist:" + mediaEvent.author + ",ablum:" + mediaEvent.ablum);    }}

MediaInfoEvent.java

public class MediaInfoEvent{       public String title;    public String author;    public String ablum;}

重点:
在onCreate()中注册:
EventBus.getDefault().register(this);

在onDestroy()中销毁:
EventBus.getDefault().unregister(this);

发布事件:
EventBus.getDefault().post(meidaInfoEvent);

订阅事件:
@Subscribe(threadMode = ThreadMode.MAIN)
public void onUpdateMeidaInfo(MediaInfoEvent mediaEvent) {
}

转载地址:http://icre.baihongyu.com/

你可能感兴趣的文章
《经济机器是怎样运行的》笔记(三)
查看>>
prod()与cumprod()区别cumsum()
查看>>
Python提升回测速度concurrnet.futures模块详解
查看>>
Python语言'类'概念再理解
查看>>
(2019.6.27)Anaconda清华镜像已恢复使用
查看>>
Robomongo使用教程:踩着前辈的路
查看>>
Python中Class类与def函数的区别
查看>>
OpenAI Gym简介及初级实例
查看>>
用Matplotlib和Gym优雅地呈现股票交易智体
查看>>
Github上量化交易相关项目汇总
查看>>
JS取出两个数组中的不同或相同元素
查看>>
Ubuntu 18.04 zip压缩文件及其文件 夹中的所以 内容
查看>>
int 转 CString
查看>>
Edit编辑框自动换行与长度
查看>>
STMF4 : error: #928: incorrect use of va_start
查看>>
如何在Windows上搭建NFS服务器实现开发板与Windows之间的文件共享
查看>>
英语02_单词词性
查看>>
C语言08_数组[ Array ]
查看>>
C语言12_预处理 #
查看>>
低通滤波器的设计
查看>>