简单的EventBus传值

使用EventBus之前首先要知道的哪个界面接收值就在那个界面实行注册销毁操作.

将适配器内的值用条目点击事件传到需要的界面,在这里使用的是EventBus的黏性事件进行传值

holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            EventBus.getDefault().postSticky(toplist.get(position).commodityId);
            context.startActivity(new Intent(context,DetailsActivity.class));
        }
    });

EventBus在Create方法内注册

EventBus.getDefault().register(this);

在 onDestroy方法内销毁

@Override
protected void onDestroy() {
    super.onDestroy();
    EventBus.getDefault().unregister(this);
}

新建方法接收粘性事件传过来的值

@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
public void getEventBus(String s) {
    Toast.makeText(this, s, Toast.LENGTH_SHORT).show();
}

你可能感兴趣的:(简单的EventBus传值)