要传值的一个类里
List<LeftBean> leftBean;
@Override
public void onBindViewHolder(@NonNull final ViewHolder viewHolder, final int i) {
viewHolder.itemView.setSelected(leftBean.get(i).getIsSelect());
viewHolder.text.setText(leftBean.get(i).getName());
//主要的EventBus传值
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bean bean = new Bean();
String id = leftBean.get(i).getId();
Long ids = Long.parseLong(leftBean.get(i).getId());
bean.setId(id);
bean.setIds(ids);
EventBus.getDefault().post(bean);
}
});
}
接受值的一个类里
这句很重要,一定要有
EventBus.getDefault().register(this);
需要接受值,然后才能使用
@Subscribe(threadMode = ThreadMode.MAIN)
public void Event(Bean bean) {
idid = bean.getId();
ids = bean.getIds();
boolean isnet = OkHttpManager.getInstance().isNet(this);
if (!isnet) {
QueryBuilder<RightBean> builder = rightBeanDao.queryBuilder();
List<RightBean> list = builder.where(RightBeanDao.Properties.Pid.eq(ids))
.orderAsc(RightBeanDao.Properties.Pid)
.list();
Toast.makeText(this, "无网", Toast.LENGTH_SHORT).show();
RightAdapter rightAdapter = new RightAdapter(this, list);
shangpin.setAdapter(rightAdapter);
} else {
String id = bean.getId();
fenleiAdapter.getCall(new FenleiAdapter.CallBack() {
@Override
public void onCall(String position) {
presenter.getUrlDedalis(shangpinUrl + position);
}
});
}
}
**记着Destroy一下哦~**
@Override
protected void onDestroy() {
super.onDestroy();
presenter.detch();
EventBus.getDefault().unregister(this);
}
Bean是自己定义的 ,想传什么值就定义需要的就行
package com.bawei.lmx.zhoukao1_513.bean;
public class Bean {
Long ids;
String id;
public Long getIds() {
return ids;
}
public void setIds(Long ids) {
this.ids = ids;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}