android - 如何将 Android ViewBinding 用于从现有布局扩展的自定义视图
问题描述
我看到有对 Activity 和 Fragment 的 ViewBinding 支持。但是自定义视图呢?
我的自定义视图喜欢这样:
class MyView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0,
defStyleRes: Int = 0
) : LinearLayout(context, attrs, defStyleAttr, defStyleRes) {
init {
inflate(context, R.layout.my_view, this)
}
}
我尝试创建 ViewBinding 但它不起作用。
private val binding: MyViewBinding
init {
inflate(context, R.layout.my_view, this)
binding = MyViewBinding.inflate(LayoutInflater.from(context))
}
你有自定义视图的 ViewBinding 解决方案吗?
解决方案
你尝试替换
init {
inflate(context, R.layout.my_view, this)
binding = MyViewBinding.inflate(LayoutInflater.from(context))
}
和
init {
binding = MyViewBinding.inflate(LayoutInflater.from(context),this, false)
}
推荐阅读
- javascript - 有没有办法知道函数中某个特定属性的调用位置?
- android - 未收到来自 FCM 的通知
- typescript - 如何在 TypeScript 中查询对象
- c# - DataGridView 和 SortableBindingList
- matlab - 我需要更改此 Matlab 高斯消除程序以在反向替换之前更改最终矩阵的形式
- gradle - 在 gradle 自定义插件中,如何在构建和战争之间插入任务?
- python - 如何更改使用 Flask 上传的文件更改名称?
- bash - 以 root 身份运行 shell 脚本时使用用户未提升的权限
- php - 代币支付 Laravel
- python - sklearn PCA fit_transform() 是否居中输入变量?