首页 > 解决方案 > 如何访问 Helper 匿名类上的 View 对象

问题描述

我是 Android/Kotlin 开发的新手,所以我会尽力在这里描述我的问题。对于我的蓝牙应用程序,我正在尝试使用 Helper 对象从另一个线程访问 Android UI 线程。根据我在互联网上的研究,我尝试修改我发现的 Java 代码,最终在我的 Activity 类中使​​用了这个匿名类代码:

companion object{
    var uuid : String =  "00001101-0000-1000-8000-00805F9B34FB"
    var handler : Handler = object : Handler(Looper.getMainLooper()){
        override fun handleMessage(msg:Message){
            statusMessage.text = "I called UI"
        }
    }
}

上面代码的问题是我无法访问该handleMessage()函数的任何 UI 视图。最终,我的连接线程无法将信息发送到 UI 线程。任何人都不能给我一些光或方向来解决这个问题吗?Android 有任何其他 Kotlin 友好的方式来与 UI 线程通信吗?

标签: androidkotlin

解决方案


你可以尝试这样的事情:

val handler = Handler(Looper.getMainLooper())

handler.post {
  // this part of code runs on your main thread
}

处理程序.post()


推荐阅读