无法使用RxKotlin更改ActionMenuItemView的文本
我试图用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,但在此之后它什么都不做。 有人知道为什么这不起作用吗?
先谢谢你,
尼克拉斯
为了更新文本,需要在主线程上更新(而不是Schedulers.newThread()
)
添加:
.observeOn(AndroidSchedulers.mainThread())
应该解决问题,并获得标签更新