原理:eventbus中,传值的页面直接进行传值 ,无论是activity还是fragment都能应用
接受值的页面中对eventbus进行绑定和解绑
1.依赖
implementation ‘org.greenrobot:eventbus:3.0.0’
代码如下:这个是接受值的页面
public class MainActivity extends AppCompatActivity {
/**
* Hello World!
*/
private TextView mEventtext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
//绑定 eventbus.getdefalut
EventBus.getDefault().register(this);
mEventtext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this,Main2Activity.class));
}
});
}
//写一个方法
@Subscribe
public void GetData(Bean bean){
Toast.makeText(this,bean.getName(),Toast.LENGTH_LONG).show();
}
private void initView() {
mEventtext = (TextView) findViewById(R.id.eventtext);
}
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
}
传值页面
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
findViewById(R.id.buttons).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EventBus.getDefault().post(new Bean("哈哈哈"));
finish();
}
});
}
}