首页 > 解决方案 > Android Kotlin 刷新文本视图

问题描述

我想每次在 textview 中更改时更新 android 系统的本地 ip,这是我的代码。

获取ip的函数是这样的

fun getIpv4HostAddress(): String {
    NetworkInterface.getNetworkInterfaces()?.toList()?.map { networkInterface ->
        networkInterface.inetAddresses?.toList()?.find {
            !it.isLoopbackAddress && it is Inet4Address
        }?.let { return it.hostAddress }
    }
    return ""
}

MainActivity.tk 的 onCreate 中的代码是这样的

val textView: TextView = findViewById(R.id.getIP)
    textView.setText("IP local: " + getIpv4HostAddress())
    textView.invalidate()

我希望它在 texview 中实时更新和显示,例如在设置和删除飞行模式,或更改网络 wifi-> mobile mobile-> wifi

在这里我离开了,如申请中所见,请有人帮助我

在此处输入图像描述

标签: androidstringkotlintextip

解决方案


要实时接收事件信息,您可以使用不同的方式,具体取决于您的应用在需要信息时是在前台还是后台。

由于在您的情况下,应用程序似乎处于前台,因此您可以application.class使用广播接收器(以编程方式注册)或其他方式编写代码以接收网络更改。然后在接收该事件更改信息的函数中,调用 getIpv4HostAddress()将设置 ip并在另一个 calssstring中的集合中使用它。textview


推荐阅读