如何生成动态ViewBinding?



我正在生成一个动态自定义视图(根据用户选择的输入改变布局),它从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())。希望你能理解。

相关内容

  • 没有找到相关文章

最新更新