美文网首页
EventBus简单6步

EventBus简单6步

作者: 加油小李 | 来源:发表于2020-06-12 20:47 被阅读0次

    一,引入依赖:

      implementation 'org.greenrobot:eventbus:3.0.0'

    引入依赖

    二,创建一个bean用来封装要传递的数据

    用来封装数据的类

    三, 发送消息

    在需要发送消息的地方将消息内容传入EventBus,我这里的musicColor,musicLoudness以及musicHeight是三个参数也就是我要发送的消息内容,然后把三个参数传给消息实体类MessageEvent.


    EventBus.getDefault().post(new MessageEvent(musicColor,musicLoudness,musicHeight));

    发送消息

    四,接收消息: 

    在要接收消息类的onCreate方法的setContent下注册EventBus

    EventBus.getDefault().register(this);

    注册EventBus

    五,在接收消息的Activity的onDestory方法下解除注册

    @Override

    protected void onDestroy() {

    super.onDestroy();

        if (EventBus.getDefault().isRegistered(this)){

    EventBus.getDefault().unregister(this);

        }

    }

    解除注册

    六,接收消息:我这里是的messageEvent.getMusicColor()就是上一个Activity传过来的消息数据.

    @Subscribe(threadMode = ThreadMode.MAIN)

    public void Event(MessageEvent messageEvent){

    if (messageEvent.getMusicColor()!=0&&messageEvent.getMusicLoudness()!=0&&messageEvent.getMusicHeight()!=0){

    if (iv_diy.getVisibility()!=View.VISIBLE){

    iv_diy.setVisibility(View.VISIBLE);

            }

    iv_music_color.setVisibility(View.INVISIBLE);

            iv_loudness.setVisibility(View.INVISIBLE);

            iv_music_height.setVisibility(View.INVISIBLE);

        }

    }

    相关文章

      网友评论

          本文标题:EventBus简单6步

          本文链接:https://www.haomeiwen.com/subject/uduhtktx.html