在自定义 View 中使用 kotlinx.android.synthetic 是可以的,但是要注意一些细节。

首先,确保在项目的 build.gradle 文件中添加了以下依赖:

apply plugin: 'kotlin-android-extensions'

然后,你需要在自定义 View 的构造函数中调用 inflate 方法来加载布局文件,并将加载的视图设置为当前 View 的根视图。例如:

class CustomView(context: Context, attrs: AttributeSet?) : View(context, attrs) {

    init {
        LayoutInflater.from(context).inflate(R.layout.activity_main2, this, true)
    }

    // 在这里可以使用 kotlinx.android.synthetic
    // ...
}

确保在布局文件中正确设置了 id,以便在自定义 View 中使用。例如,如果布局文件中有一个 TextView,你可以在自定义 View 中直接使用 textView.text = "Hello"

如果你仍然遇到问题,请提供更多的代码和错误信息,以便更好地帮助你解决问题

android开发:自定义view中不能使用kotlinxandroidsynthetic吗我添加了import kotlinxandroidsyntheticmainactivity_main2view代码没报错但运行时会在_$_findCachedViewById里报错如果是在activity里使用就不报错、在自定义view里用就会报错!在我的自定义view中我已经在init里Viewinfl

原文地址: https://www.cveoy.top/t/topic/iYnh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录