简单的EventBus传值
来源:互联网 发布:java 当月剩余天数 编辑:程序博客网 时间:2024/06/03 19:19
EventBus更像是startActvity的双向传值
1.首先通过一个实体类,来携带参数
public class FirstEvent { private final String msg; public FirstEvent(String msg) { this.msg=msg; } public String getMsg() { return msg; }}2.在main里面写
public class MainActivity extends AppCompatActivity { private Button btn_try; private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //注册EventBus EventBus.getDefault().register(this); btn_try = (Button) findViewById(R.id.btn_try); tv = (TextView) findViewById(R.id.tv);//为按钮添加监听 btn_try.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(getApplicationContext(),SecondActivity.class)); } }); } public void onEventMainThread(FirstEvent event){ tv.setText("来自第二个Acitity的数据"+event.getMsg()); } @Override protected void onDestroy() { super.onDestroy();// 注销 EventBus.getDefault().unregister(this); }}3.第二个SecondActivity代码
public class SecondActivity extends AppCompatActivity { @InjectView(R.id.btn_first_event) Button btnFirstEvent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); ButterKnife.inject(this); } @OnClick(R.id.btn_first_event) public void onClick() { EventBus.getDefault().post(new FirstEvent("我是Second我要发给Main信息")); }}
4.gradle里面的要添加的包
compile 'de.greenrobot:eventbus:2.4.0'compile 'com.jakewharton:butterknife:6.1.0'
5.在main.xml里面写
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="haokuanyi.eventbus.MainActivity"> <Button android:id="@+id/btn_try" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="btn_bty"/> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="match_parent"/></LinearLayout>
6.在Second.xml里面写
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="haokuanyi.eventbus.SecondActivity"> <Button android:id="@+id/btn_first_event" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="First Event"/></RelativeLayout>
0 1
- 简单的EventBus传值
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus 的简单使用
- EventBus的简单理解
- eventbus的简单使用方法
- EventBus的简单用法
- EventBus的简单使用
- EventBus的简单使用
- EventBus 《二》 Android EventBus的简单使用
- EventBus框架的简单使用
- 欢迎使用CSDN-markdown编辑器
- XmlTextReader正由另一进程使用,因此该进程无法访问此文件
- ios 电池栏的隐藏及样式设置
- ios 关于.a库的相关指令
- 指针的指针
- 简单的EventBus传值
- fastjson 常用的方法
- composer 更新报错:SSL/TLS
- js和jQuery获取浏览器窗口的高度、宽度的方法详解
- java并发锁机制-ReentrantLock Condtion准备篇之Object.wait,Object.notify与Condtion
- kali linux 打不开终端的问题
- textField里边的内容限制
- Windows 环境下Android ReactNative环境搭建
- hexo教程系列——hexo安装教程