无法使用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())
应该解决问题,并获得标签更新
- 当我退出应用程序时,为什么在Android应用程序中使用Kotlin / rxJava编写android.os.TransactionTooLargeException? (的OnExit /的onPause)?
- 在Kotlin for Android中编写库是否有开销?
- 使用毕加索获得一个位图的回调
- 我的RecyclerView没有得到适当的通知
- 如何获得电子邮件ID微博整合
- Mockito对象与Mockito Kotlin不沾方法
- 非法StateException错误
- 什么是OkHttp客户端的最佳/较少错误倾向的缓存大小(用于exoplayer)
- 什么是onCreateOptionsMenu(菜单菜单)