gpt4 book ai didi

android - 从 OkHttp 拦截器通知 UI

转载 作者:行者123 更新时间:2023-11-29 18:27:48 24 4
gpt4 key购买 nike

我需要根据拦截器中的 bool 值更改 UI(我只在拦截器内部了解它,而且它永远不会离开它)。

我想到的可能解决方案:
创建像 new Handler(Looper.getMainLooper()) 这样的处理程序,然后执行 .post(new Runnable()..),但我不想弄乱 UI 逻辑进入拦截器类。

最佳答案

您可以尝试使用 EventBus .

  1. 将以下依赖项添加到您的 build.gradle 文件中:
dependencies {
// ...
implementation 'org.greenrobot:eventbus:3.1.1'
}
  1. 创建类来保存来自拦截器的数据:
public static class InterceptorEvent { /* Add fields you need */ }
  1. 在您的拦截器中,使用以下代码发布事件:
EventBus.getDefault().post(new InterceptorEvent());
  1. 在任何需要的地方订阅 InterceptorEvent:
@Subscribe(threadMode = ThreadMode.MAIN)  
public void onInterceptorEvent(InterceptorEvent event) {
// Do whatever you want
}

@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}

@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}

希望我的回答对您有所帮助。

关于android - 从 OkHttp 拦截器通知 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57957217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com