这是我在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(),"");
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
另外,我想知道在同一个班级使用R.layout.layout_name和使用是否正确ViewBinding。
我正在使用材料android芯片。这里关闭图标不可见。查看一些参考后,我正在使用chip.setCloseIconEnabled(true)但它已被弃用。
final Chip chip=new Chip(MainActivity.this);
chip.setText(color);
chip.setCheckable(false);
chip.setClickable(true);
chip.setCloseIconEnabled(true);
chipGroup.addView(chip);
Run Code Online (Sandbox Code Playgroud)