使用Otto事件总线的通用事件

时间:2014-06-22 10:22:06

标签: android otto

我使用Otto事件总线订阅Volley Requests。我想使用这个泛型类,但错误的片段(订阅者)尝试处理该事件。可以使用泛型类,还是随机的VolleyResultEvent的每个订阅者,与泛型类型无关,称为?

public class VolleyResultEvent<T> {

    public final VolleyResult result;
    public final T content;

    public VolleyResultEvent(VolleyResult result, T content) {
        this.result = result;
        this.content = content;
    }

    public enum VolleyResult {
        SUCCESS, ERROR
    }

}

1 个答案:

答案 0 :(得分:3)

无论类型泛型如何,都会调用VolleyResultEvent的每个订阅者。您是否希望根据您拥有的类型数量制作VolleyResultEvent的几个子类;或实现匹配函数,例如,将事件id(或类型)与订户的id(或类型)进行比较,并允许进一步处理(如果它们相等)。