DataBinding的BR生成规则

生成的BR.class

package com.github.captain_miao.uniqueadapter.library;

public class BR {
    public static int _all = 0;
    public static int presenter = 1;
    public static int viewModel = 2;

    public BR() {
    }
}

从生成的规则上看,是通过变量名(viewModel/presenter)来生成ID的,所以相同的变量名共用相同的ID,所以使用相同的变量,可以减少ID哈。

也让UniqueAdapter成为可能,可以使用相同的ViewHolder。


@Override
public void onBindViewHolder(UniqueViewHolder holder, int position) {
    ItemModel item = getItem(position);
    holder.dataBinding.setVariable(com.github.captain_miao.uniqueadapter.library.BR.viewModel, item);
    if (mPresenter != null) {
        holder.dataBinding.setVariable(com.github.captain_miao.uniqueadapter.library.BR.presenter, mPresenter);
    }
    holder.dataBinding.executePendingBindings();
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注