我使用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(或类型)进行比较,如果它们相等,则允许进一步处理。