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



我使用Otto事件总线来订阅Volley Requests。我想使用这个泛型类,但错误的片段(订阅者)试图处理事件。是否可以使用泛型类,还是随机调用独立于泛型类型的排球事件的每个订阅者?

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
    }
}

无论类型泛型如何,都将调用VolleyResultEvent的每个订阅者。要么你想根据你拥有的类型的数量为VolleyResultEvent创建几个子类;或者实现一个匹配函数,例如,将事件id(或类型)与订阅者id(或类型)进行比较,如果它们相等,则允许进一步处理。