EventBus粘性的简单使用

创建一个存放数据的Bean:


public class EvenBean {

    private String uid;
    private String image;
    private String name;
    private double price;

    public EvenBean(String uid, String image, String name, double price) {
        this.uid = uid;
        this.image = image;
        this.name = name;
        this.price = price;
    }

    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }
}




postSticky发送粘性事件:

                             //得到数据

                String goods_img = list.get(position).getGoods_img();
                String efficacy = list.get(position).getEfficacy();
                double shop_price = list.get(position).getShop_price();
                String id = list.get(position).getId();
             
                EventBus.getDefault().postSticky(new EvenBean(id,goods_img,efficacy,shop_price));


在另一个界面中先注册在:
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_xiang);
    ButterKnife.bind(this);
    //注册
    EventBus.getDefault().register(this);
    //移除之后 后面的就不是黏性了

}

//订阅,需要加注解
@Subscribe(sticky = true)
public void onMessageEvent(EvenBean event){
   simpleXiang.setImageURI(String.valueOf(event.getImage()));
   titleXaing.setText(event.getName().toString());
   priceXaing.setText(event.getPrice()+"");
   pid = event.getUid();

}

取消订阅:

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




 

你可能感兴趣的:(EventBus粘性的简单使用)