问题标签 [mosby]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 是否可以使用 Mosby 在 Activity 中使用 Fragment 作为 MvpView
是否可以在使用 Mosby 的 Activity 中使用 Fragment 作为 MvpView?
例如,这是Google 的 todo-mvp-dagger 项目中TaskDetailActivity的精简版:
在示例代码中,Fragment 作为视图实例传递给 TaskDetailPresenterModule。使用 Mosby 是否可行,如果可以,这是一种好的做法吗?我们可以把我们的presenter放在Activity里面,用Fragment代替Activity作为MvpView吗?
我问这个是因为我也想知道 Mosby 如何处理内部有多个 Fragment 的 Activity。
谢谢你的帮助。
android - Android mosby 访问演示者查看
我想访问查看小部件,例如演示者TextView
或EditText
来自演示者,我该怎么做,
在我的活动主要中,我想更改scheduleDateTimeNotify
演示者的文本
主持人:
ActivityChannelContentPresenterImpl:
ActivityChannelContentViewModel:
ActivityChannelContentView 接口:
java - 如何将基类添加到 mosby MVPActivity?
我正在寻找一种将基类添加到mosby MVPActivity 的方法。让我解释一下我需要什么。
通常在使用 mosby 时,我们会像这样声明一个活动:
但我想添加一个基类,这样我就可以像这样进行调用:
然后 BaseActivity 会是这样的:
但这不起作用,因为 IDE 在编译时有一个错误说“扩展 MvpView”有意外的界限。那么如何将基类添加到 mosby MVPActivity ?
java - 结合之前的 observable
我正在尝试使用 RxJava、RxAndroid 和 Mosby3 将两种表单插入组合在一起,但我找不到让它工作的方法。
我的结构:
我在哪里触发我的意图(MVI 模式):
并将它们绑定在一起:
我的问题是,我的 uploadImage 返回一个以字符串结尾的内部结构,但是,如何获取返回的字符串,将其添加到我的command
对象(在此对象中设置返回的 URL)并继续流程(将我的命令发送到云端) ?
谢谢!
android - Intent 有时不会被解雇
我有以下代码:
继承自:
但问题是,有时会触发 fetchLocalCheckin,有时不会。我在这里做错了什么?我错过了什么 ?
android - 在仅发送屏幕上使用 MVI
我正在尝试创建一个具有 SignaturePad 的仅发送视图,一旦用户单击保存按钮,就会触发保存意图并进行一些后台处理。
我有以下内容:
主持人:
签名片段:
...
最后是我的看法:
问题是,一旦我的片段被创建, .startWith 就会被触发,而无需用户单击按钮。之后,如果用户点击按钮,加载状态永远不会被调用(.startwith again),而只会调用成功(或错误)。我在这里想念什么?
再次感谢 !
编辑:
另一个进程正在获取透明位图,但在添加 startWith 之后,我的可调用对象永远不会被调用。如果我把它拿出来,它就像一个魅力。
android - Mosby MVI - 如何重用 Presenter
我的演示者如下所示:
我的片段loadArticleIntent
如下所示:
结果
如果片段是第一次创建,我会得到以下 3 项:
- 最初的事件
- 加载文章事件
- 加载的文章或错误事件
如果再次创建片段,它将从地图中检索已经存在的演示者,并重用其中的最后一个已知状态。然后我得到以下信息:
- 最后加载的事件
- 最初的事件
- 加载文章事件
- 加载的文章或错误事件
这并不完美,我需要将逻辑更改为仅发出最后一个已知状态(与屏幕旋转后发生的行为相同)。
我该怎么解决这个问题?
mosby - 方向改变后的莫斯比和恢复状态
在我们的应用程序(使用 Mosby)中,我们有一个 SearchActivity,它使用 Retrofit 来获取结果。目前的基本流程是 SearchActivity 有一个List<Results>
(它有一个@State
注释),我添加了检索到的结果。从 SearchActivity 我调用到presenter.doSearch(searchquery)
在我们的 RetrofitonSuccess
回调中,然后调用getView().populateResults(results)
. 然后,这会将检索到的结果添加到活动中的列表中,并添加到回收器视图中。
这不是正确的方法,因为我们现在得到了 TransactionTooLargeExcpetion's。
那么,使用 Mosby 保存这些获取的结果并在方向更改时恢复它们的正确方法是什么。
android - 在 onDettachView 中处理 Observables
我在我的应用程序中遇到了著名的 IllegalStateException 问题。问题源于网络请求(使用改造)完成后,返回给我一个 Observable。我正在使用优秀的 Mosby 框架来处理 MVP 的东西,这是我的代码:
我从 Crashlytics 得到的例外是:
我的问题:在 detachView 方法中处理 Observables 是否正确?据我了解,在 onStop(Android 检查状态)之后调用 frag(我将其与 frags 一起使用)onDestroyView 时调用 detachView。如果没有,我应该在我的演示者中创建一个 dispose 方法并从我的 frag onStop 调用它吗?
谢谢 !
android - OnErrorNotImplementedException 使用 RxJava2 和 Retrofit2 Mosby MVI
尽管处理了下游错误(?),但我收到了 OnErrorNotImplementedException 并且应用程序崩溃了。
例外
改造存储库:
Interactor 观察到此结果:
onErrorReturn { MapViewState.Error(it) }
发射正确(就在应用程序崩溃之前,我可以看到屏幕上呈现的正确内容)。如何在保持 MVI 架构的同时避免此异常?
编辑
dimsuz 提供的答案是正确的解决方案,尽管要实现合并并返回一个包含所有项目的 Observable,必须将其修改为: