【问题标题】:databinding include parameter can not auto upcast数据绑定包含参数不能自动向上转换
【发布时间】:2018-03-25 07:51:02
【问题描述】:

我有一个包含布局 include layout

include layout param 包含布局 viewModel 参数类型是 BaseSeekBarRecycleViewVM

set a PictureFrameMenuVM 我设置了一个 PictureFrameMenuVM 扩展 BaseSeekBarRecycleViewVM

但得到一个错误:

错误:(123, 35) 找不到属性 'bind:viewModel' 的设置器 带参数类型 com.example.whensunset.pictureprocessinggraduationdesign.viewModel.includeLayoutVM.PictureFrameMenuVM 上 com.example.whensunset.pictureprocessinggraduationdesign.databinding.ActivityPictureProcessingPictureTextMenuBinding。

【问题讨论】:

    标签: android data-binding android-databinding


    【解决方案1】:

    去掉bind:viewModel标签,直接从代码中绑定viewModel。

    像这样:

    binding.pictureFrameMenu.setViewModel(new YourViewModelName());
    

    其中 binding 是 DataBindingLayout 的实例。

    【讨论】:

    • 你是对的,但我想知道我不正确的原因。我可以尝试用 xml 编写而不是用代码编写吗?谢谢
    • 因为标签默认不存在。我认为,要使用它,您必须创建一个 BindingAdapter。 P.S.:我以前从未使用过 BindingAdapter。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 2020-08-07
    相关资源
    最近更新 更多