EventBus简单Demo实现
发布日期:2021-05-07 14:10:49 浏览次数:10 分类:原创文章

本文共 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) {
}

上一篇:git命令git push成功后撤销回退
下一篇:ViewPager滑动时渐变效果实现

发表评论

最新留言

不错!
[***.144.177.141]2025年04月02日 07时56分29秒