第一步:在build.gradle中添加依赖 dependencies {    compile 'org.greenrobot:eventbus:3.0.0'}第二步:创建一个 Event类: 注意:enum 不是class public enum  Event {    //消息名,可以根据这个名字判断是哪个消息    IMAGE_LOADER_SUCCESS;}
//------------主布局文件------------------------<TextView    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:id="@+id/tv_text" /><Button    android:layout_width="match_parent"    android:layout_height="40dp"    android:text="点击跳转到TwoActivity"    android:id="@+id/bt_button"/>//-----------TwoActivity布局-----------------------<Button    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:id="@+id/bt_button2"    android:text="发送消息"/>//---------创建一个消息了---MessageEvent ------------------------    public class MessageEvent {        private String message;        public String getMessage() {            return message;        }        public void setMessage(String message) {            this.message = message;        }        public MessageEvent(String message) {            this.message = message;        }        public MessageEvent() {        }    }//--------------MainActivity -中我们注册事件,用于接收消息,退出时需要注销-----------------package eventbusdemo.wode.com.eventbusdemo;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.TextView;import org.greenrobot.eventbus.EventBus;import org.greenrobot.eventbus.Subscribe;import org.greenrobot.eventbus.ThreadMode;    public class MainActivity extends AppCompatActivity implements View.OnClickListener{        private Button bt_button;        private TextView tv_text;        @Override        protected void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.activity_main);            //找到控件            bt_button = (Button) findViewById(R.id.bt_button);            tv_text = (TextView) findViewById(R.id.tv_text);            //在需要订阅事件的地方注册事件            EventBus.getDefault().register(this);            //设置监听            bt_button.setOnClickListener(this);        }        //用于接收传MessageEvent这个类的消息        @Subscribe(threadMode = ThreadMode.MAIN)        public void onShowMessageEvent(MessageEvent messageEvent) {            tv_text.setText("MainActivity:" + messageEvent.getMessage());        }        //用于接收没有传值的消息  /* @Subscribe    public void onEventMainThread(Event event){        switch (event){            case IMAGE_LOADER_SUCCESS:                Log.i("MainActivity--","IMAGE_LOADER_SUCCESS");                tv_text.setText("IMAGE_LOADER_SUCCESS");                break;        }    }*/        @Override        public void onClick(View v) {            switch (v.getId()){                case R.id.bt_button:                    Intent intent=new Intent(MainActivity.this,TwoActivity.class);                    startActivity(intent);                    break;            }        }        //(5)取消消息订阅        @Override        protected void onDestroy() {            super.onDestroy();            EventBus.getDefault().unregister(this);        }    }//--------------TwoActivity 中,用于发送消息------------------------package eventbusdemo.wode.com.eventbusdemo;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import org.greenrobot.eventbus.EventBus;    public class TwoActivity extends AppCompatActivity {        @Override        protected void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.activity_two);            Button bt_button2= (Button) findViewById(R.id.bt_button2);            bt_button2.setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View v) {                    //(3)产生事件,即发送消息                    // EventBus.getDefault().post(Event.IMAGE_LOADER_SUCCESS);                    //传值                    EventBus.getDefault().post(new MessageEvent("哈哈哈哈哈"));                }            });        }    }

更多相关文章

  1. Android(安卓)事件分发机制
  2. Android(安卓)实现微信聊天一样的布局
  3. iOS及Android消息推送方案安装使用入门
  4. SignalR推送消息到android客户端
  5. flutter集成推送功能-小米推送集成
  6. Android(安卓)EditText截获与监听输入事件
  7. Data Binding自定义属性
  8. Android(安卓)>> 26. RecyclerView(一)
  9. Android(安卓)中使用 AsyncTask 异步读取网络图片

随机推荐

  1. Android实现照片选择显示-从相册选择或拍
  2. android中显示网络图片
  3. android上实现语音识别,基于google的语音
  4. android串口通信以及串口协议解析
  5. Android 中 MVC 的简单理解
  6. Android开发实例详解之IMF(Android(安卓)S
  7. Prof Android app dev: Introduction and
  8. QQ For Android试用
  9. Android内存泄漏终极解决篇(上)
  10. 【Android】性能优化:电量消耗统计