Android 如何使用视图绑定在Kotlin中正确膨胀视图
我创建了一个自定义视图,如下所示:Android 如何使用视图绑定在Kotlin中正确膨胀视图,android,view,Android,View,我创建了一个自定义视图,如下所示: class CustomView(context: Context, attrs: AttributeSet?) : View(context, attrs) { val textView: TextView val button: Button init { ViewCustomBinding.inflate(LayoutInflater.from(context)).apply { th
class CustomView(context: Context, attrs: AttributeSet?) : View(context, attrs) {
val textView: TextView
val button: Button
init {
ViewCustomBinding.inflate(LayoutInflater.from(context)).apply {
this.textView = textView
this.button = button
}
}
这适用于具有
文本视图
和按钮
的自定义视图。但是,当在任何布局中将其膨胀为视图时,我看不到视图被膨胀。我想知道这段代码中到底缺少了什么,使得屏幕上的视图膨胀了?您从未将膨胀的视图添加到层次结构中。您可以将其添加到
addView(binding.root)
或者在充气
方法中将视图作为父视图传递
编辑
我刚刚注意到您的自定义视图继承自
视图
类,该类不能充当其他视图的父视图。您应该使用视图组的一些子类,我知道了,我会尝试使用它:类CustomView(context:context,attrs:AttributeSet?):ConstraintLayout(context,attrs)
和init toViewCustomBinding.inflate(LayoutInflater.from(context,this,true))
这很有效!因此,学习的内容是在自定义视图中有多个视图时始终扩展视图组!谢谢