android– 只要视图没有启动就使用总线?

android– 只要视图没有启动就使用总线?,第1张

概述我有这个问题,因为我切换到EventBus(任何总线库都会发生),每当我想在视图没有准备好时执行动作,那么我将得到总线未注册的错误;E/EventBus:Couldnotdispatchevent:classcom.android.greenfield.Actiontosubscribingclassclasscom.android.greenfield.GreenStore当我

我有这个问题,因为我切换到EventBus(任何总线库都会发生),每当我想在视图没有准备好时执行动作,那么我将得到总线未注册的错误;

E/EventBus: Could not dispatch event: class com.androID.greenfIEld.Action to subscribing class class com.androID.greenfIEld.GreenStore

当我想在生命周期的那些部分中触发Action时会发生这种情况:

当我拍摄照片/视频时:

@OverrIDepublic voID onActivityResult(int requestCode, int resultCode, Intent data) {      actionsCreator.uploadfile(filepath, "image/jpg");   // ... (Error here because the bus isn't yet registered)}

或者在我收到NFC标签时:

@OverrIDepublic voID onNewIntent(Intent intent) {   actionsCreator.uploadNfcTag(intent);   // ... (Error here because the bus isn't yet registered)}

如果我按照他们在文档中说的那样遵循正常方式或EventBus,我应该注册并取消注册:

@OverrIDepublic voID onStart() {    super.onStart();    EventBus.getDefault().register(this);}@OverrIDepublic voID onStop() {    EventBus.getDefault().unregister(this);    super.onStop();}

到目前为止,我发现的唯一解决方法是在我想执行onStart()和onStop()生命周期之间的 *** 作时注册和取消注册…但它很脏而且我感觉很糟糕

@OverrIDepublic voID onNewIntent(Intent intent) {   dispatcher.register(GreenStore);   actionsCreator.uplaodNfcTag(intent);   dispatcher.register(GreenStore);}

解决方法:

如果您尝试在onActivityResult中显示对话框片段,则会出现与获取IllegalStateException的原因相同的问题.简单地说,它在用户界面恢复生机之前运行.

简单解决方案

1.)

Handler handler = new Handler(Looper.getMainLooper());handler.post(new Runnable() {    @OverrIDe    public voID run() {         actionsCreator.uploadfile(filepath, "image/jpg");    }});

2.)while the bus is paused (this is something you’d handle manually), you should queue up the events, and then when it’s unpaused, execute them.

总结

以上是内存溢出为你收集整理的android – 只要视图没有启动就使用总线?全部内容,希望文章能够帮你解决android – 只要视图没有启动就使用总线?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1117319.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存