使用kotlin从android中的BroadcastReceiver类访问edittext

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用kotlin从android中的BroadcastReceiver类访问edittext相关的知识,希望对你有一定的参考价值。

如果没有可用的互联网连接,我想禁用我的edittext字段。所以,为此,我做了broadcastreceiver类来检测网络变更活动,当我收到没有互联网连接可用的广播时,那时我想禁用我的edittext字段,并且当用户进行互联网连接时,字段应该是自动启用。最重要的是,我正在使用kotlin做这件事,我找到了很多解决方案,但都是针对java的。所以,请帮助我,我该怎么做。我试图获取类实例来访问如下所示的edittext

var activityInstance = SetProfileActivity::class.objectInstance

并通过使用activityInstance对象,我试图访问我的edittext,如下所示

activityInstance.myEtId.setEnabled(false)

但我无法访问它,它返回null。我怎样才能做到这一点?

答案

我得到了解决方案....我必须在我的活动类中注册我的接收器,重要的是声明broadcastreceiver类作为内部类来访问活动元素。

EG

inner class InternetOnReceiver : BroadcastReceiver(){
    override fun onReceive(context: Context?, intent: Intent?) {
        etLocationPicker.hint = "Pick Location"
        etLocationPicker.isEnabled = true
    }
}

以上是关于使用kotlin从android中的BroadcastReceiver类访问edittext的主要内容,如果未能解决你的问题,请参考以下文章

使用 Kotlin 从 Android 上 ViewModel 中的 LiveData 更新 ListView 中的元素

使用kotlin从android中的BroadcastReceiver类访问edittext

从android kotlin中的文件夹中获取图像列表

如何在 Android Studio 中使用 Kotlin 从 Firebase 中的数据库中获取特定值?

如何使用 Kotlin 在 android 中的 BottomNavigationView 上设置 OnNavigationItemListener?

从Kotlin构造函数android中的Parcelable读取List列表