EventBus简单Demo实现

使用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) {
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunxiaolin2016

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值