我有一些视图状态,例如StartingGame
和GameStarted
。如果用户开始游戏,我会一个接一个地发出两种状态,并在第一个事件中开始一个进度,如下所示:
var d = Observable.interval(1000L, TimeUnit.MILLISECONDS)
.takeWhile({ t -> t <= 45 })
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe {
// update a progress view that shows the remaining time of this turn...
}
旋转后,我的视图状态说,它已经处理了动画的开始,所以动画没有显示。
我怎么能以 mvi 的方式解决这个问题?
我真的应该通过 mvi 状态流发出所有这些事件,并增加每个事件的状态进度并在那里更新视图吗?