如何在回收视图适配器类中使用android视图绑定?这是使用视图绑定的正确方法吗?

问题描述 投票:1回答:1

这是我在RecycleView适配器类中使用的代码。我不知道这是不是正确的格式。如果您有更好的解决方案,请回答我。谢谢。

@Override
public CategoryAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

    View itemView = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.common_circle_image, parent, false);

    return new MyViewHolder(itemView);
}

@Override
public void onBindViewHolder(@NonNull CategoryAdapter.MyViewHolder holder, final int position) {
    holder.binding.img.setBackgroundResource(addAdapterData.get(position).getItemUrl());
    holder.binding.txt.setText(addAdapterData.get(position).getItemName());
}

@Override
public int getItemCount() {
    return addAdapterData.size();
}

public class MyViewHolder extends RecyclerView.ViewHolder {

    CommonCircleImageBinding binding;

    public MyViewHolder(@NonNull View itemView) {
        super(itemView);
        binding = CommonCircleImageBinding.bind(itemView);
        binding.cardView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                commonItemClick.onItemClick(getAdapterPosition(),"");
            }
        });
    }
}

此外,我想知道在同一个类中使用R.layout.layout_nameViewBinding是正确的。

java android recycler-adapter android-viewbinding
1个回答
0
投票

您可以通过CommonCircleImageBindingonCreateViewHolder中直接创建CommonCircleImageBinding.inflate(LayoutInflater.from(parent.getContext()))

然后将其传递给MyViewHolder

© www.soinside.com 2019 - 2024. All rights reserved.