1

我有一个绑定适配器,它根据从数据库返回的数据以编程方式添加视图。

@BindingAdapter("addViews")
fun addViews(view: LinearLayout, fruit: List<Fruits>){
    fruit.forEach{
        val v = View.inflate(view.context, R.layout.item_fruit_layout, null)
        v.text_view_fruit_name.text = it.name
        view.addView(v)
    }
}

我试图不将 setText 用于 textview,因为我正在使用数据绑定,但我不知道如何使用 theDataBindingUtil.setContentView或其他任何东西来绑定数据。谁能告诉我我能不能做到这一点?

谢谢

4

2 回答 2

1

试试这样

binding = DataBindingUtil.inflate(inflater, R.layout.item_fruit_layout, container, false)
于 2019-11-07T18:14:22.460 回答
1

这是我的解决方案:

val v = View.inflate(view.context, R.layout.item_fruit_layout, null)
val binding = ItemFruitLayoutBinding.bind(v)
binding.setVariable(BR.fruit, it)
于 2019-11-07T21:49:58.947 回答