android - 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
在这里我离开了,如申请中所见,请有人帮助我
解决方案
要实时接收事件信息,您可以使用不同的方式,具体取决于您的应用在需要信息时是在前台还是后台。
由于在您的情况下,应用程序似乎处于前台,因此您可以application.class
使用广播接收器(以编程方式注册)或其他方式编写代码以接收网络更改。然后在接收该事件更改信息的函数中,调用 getIpv4HostAddress()
将设置 ip并在另一个 calssstring
中的集合中使用它。textview
推荐阅读
- c# - C#如何在多个列表框中显示项目?
- javascript - Webpack 无法解析自定义 JS 文件
- python - 查询在查询浏览器中运行良好,但在 python 代码中运行良好
- reactjs - 在重定向组件(React.js)中传递道具没有按预期工作
- pdf - 如何读取 PDFsharp 返回的 UTF 元数据?
- javascript - 如何配置 Webpack 输出以仅包含特定捆绑包的某些选项
- python - Python 3:在某些点上没有颜色的绘图表面
- pdf-generation - 使用 Puppeteer,如何生成具有自动高度的 PDF?
- json - 如何使用 Jmeter 中的 JSON 提取器提取列表中的特定值
- string - 随机字符显示在真实硬件上而不是模拟器上