如何在带有 ItemViewType 的 Adapter 中使用 ViewBinding

How to use ViewBinding in Adapter with ItemViewType

我有一个用于聊天的 RecyclerviewAdapter,所以我在 onCreateViewHolder 方法中膨胀了 2 个布局。

@Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int position) {
        if (position == MY_MESSAGES) {
            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_right_chat, parent, false);
            return new ViewHolder(view);
        } else {
            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_left_chat, parent, false);
            return new ViewHolder(view);
        }
    }

自从我用 ButterKnife 实例化后,我使用了相同的 ViewHolder,但是现在我想使用 ViewBinding,但我不知道如何使用单个 [=14] =] 如果我必须为每个布局生成一个绑定对象。

感谢您的帮助。

build.gradle 启用 ViewBinding 后,Android 将为根部带有 layout 标记的每个布局资源创建单独的绑定模型。因此,您应该考虑使用两种不同的 ViewHolder class 作为一种更简洁的方法,您可以获得每个布局的 binding 模型:ItemRightChatBindingModelItemLeftChatBindingModel.