import org.greenrobot.eventbus.EventBus;
/**
* @author AcmenXD
* @version v1.0
* @github https://github.com/AcmenXD
* @date 2017/4/10 16:40
* @detail EventBus事件处理工具类
*/
public class EventBusUtils {
/**
* 注册EventBus
*/
public static void register(Object subscriber) {
if (!EventBus.getDefault().isRegistered(subscriber)) {
EventBus.getDefault().register(subscriber);
}
}
/**
* 取消注册EventBus
*/
public static void unregister(Object subscriber) {
EventBus.getDefault().unregister(subscriber);
}
/**
* 发布订阅事件
*/
public static void post(Object event) {
EventBus.getDefault().post(event);
}
/**
* 发布粘性订阅事件
*/
public static void postSticky(Object event) {
EventBus.getDefault().postSticky(event);
}
/**
* 移除指定的粘性订阅事件
*/
public static <T> void removeStickyEvent(Class<T> eventType) {
T stickyEvent = EventBus.getDefault().getStickyEvent(eventType);
if (stickyEvent != null) {
EventBus.getDefault().removeStickyEvent(stickyEvent);
}
}
/**
* 取消事件传送
*/
public static void cancelEventDelivery(Object event) {
EventBus.getDefault().cancelEventDelivery(event);
}
/**
* 移除所有的粘性订阅事件
*/
public static void removeAllStickyEvents() {
EventBus.getDefault().removeAllStickyEvents();
}
}
EventBus3.x 工具类
最新推荐文章于 2024-08-13 09:25:59 发布