无法使用RxKotlin

时间:2017-03-13 19:55:39

标签: android system.reactive kotlin rx-kotlin

我试图用Kotlin编写一个Android应用程序。现在,我想在ActionBar中显示一个计数器。我为此添加了一个名为show_timer的项目。每一秒,它应该算一个:

override fun onWindowFocusChanged(hasFocus: Boolean) {
    val item = findViewById(R.id.show_timer) as ActionMenuItemView
    PublishSubject.interval(1, java.util.concurrent.TimeUnit.SECONDS, Schedulers.newThread())
            .subscribeBy(onNext = {item.text = it.toString()})

    super.onWindowFocusChanged(hasFocus)
}

但不知怎的,这不起作用。它将默认文本更新为0,但之后它什么都不做。有人知道为什么这不起作用吗?

提前谢谢你,

尼古拉斯

1 个答案:

答案 0 :(得分:0)

为了更新文本,需要在主线程上更新(而不是Schedulers.newThread()

添加:

.observeOn(AndroidSchedulers.mainThread())

应修复问题,并获取更新标签