我正在生成一个动态自定义视图(根据用户选择的输入改变布局),它从ConstraintLayout扩展到如下:
class CustomView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr)
init{
var layout = when{
1 -> R.layout.layout1
2 -> R.layout.layout2
3 -> R.layout.layout3
else -> R.layout.layout4
}
LayoutInflater.from(context).inflate(layout, this, true)
}
我想在这个自定义视图中实现视图绑定,有人知道怎么做吗?
这是我在基片段类上动态创建片段屏幕的代码。
private lateinit var emailBinding: FragmentCreateEmailBinding//代码在EmailFragment.
override fun getViewChild(inflater: LayoutInflater, container: ViewGroup?): View?
{
emailBinding = FragmentCreateEmailBinding.inflate(inflater, container, false)
return emailBinding.root
}
之后,您可以使用emailBinding。edtTo之类的视图绑定教程。这是我在每种情况下的自定义布局的代码。在BaseFragment getViewChild()返回视图,所以我可以使用addView(getViewChild())。希望你能理解。