Android 如何通过数据绑定(google)为回收器视图制作适配器?

Android 如何通过数据绑定(google)为回收器视图制作适配器?,android,Android,我有一个回收器,我需要一个适配器。它应该可以通过数据绑定来工作。我也是,我希望这会对您有所帮助 public class ArticleAdapter extends RecyclerView.Adapter<ArticleAdapter.MyViewHolder> { private List<ArticleModel> articleModelList; public class MyViewHolder extends RecyclerView

我有一个回收器,我需要一个适配器。它应该可以通过数据绑定来工作。我也是,我希望这会对您有所帮助

public class ArticleAdapter extends 
RecyclerView.Adapter<ArticleAdapter.MyViewHolder> {

    private List<ArticleModel> articleModelList;

    public class MyViewHolder extends RecyclerView.ViewHolder {
        private final ItemArticleCardBinding itemArticleCardBinding;

        public MyViewHolder(ItemArticleCardBinding itemArticleCardBinding) {
            super(itemArticleCardBinding.getRoot());
            this.itemArticleCardBinding = itemArticleCardBinding;
        }

        public void bind(ArticleModel articleModel) {
            itemArticleCardBinding.setArticle(articleModel);
            itemArticleCardBinding.executePendingBindings();
        }
    }

    public ArticleAdapter(List<ArticleModel> articleModelList) {
        this.articleModelList = articleModelList;
    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        LayoutInflater inflater = LayoutInflater.from(parent.getContext());
        ItemArticleCardBinding itemArticleCardBinding = DataBindingUtil.inflate(inflater, R.layout.item_article_card, parent, false);
        return new MyViewHolder(itemArticleCardBinding);
    }

    @Override
    public void onBindViewHolder(final MyViewHolder holder, int position) {
        ArticleModel articleModel = articleModelList.get(position);
        holder.bind(articleModel);
    }

    @Override
    public int getItemCount() {
        return articleModelList.size();
    }
}
公共类ArticleAdapter扩展
RecyclerView.适配器{
私人物品清单;
公共类MyViewHolder扩展了RecyclerView.ViewHolder{
私人最终项目ArticleCardBinding项目ArticleCardBinding;
公共MyViewHolder(ItemArticleCardBinding ItemArticleCardBinding){
super(itemArticleCardBinding.getRoot());
this.itemArticleCardBinding=itemArticleCardBinding;
}
公共无效绑定(ArticleModel ArticleModel){
itemArticleCardBinding.setArticle(articleModel);
itemArticleCardBinding.executePendingBindings();
}
}
公共ArticleAdapter(列表articleModelList){
this.articleModelList=articleModelList;
}
@凌驾
公共MyViewHolder onCreateViewHolder(视图组父级,int-viewType){
LayoutInflater充气器=LayoutInflater.from(parent.getContext());
ItemArticleCardBinding ItemArticleCardBinding=DataBindingUtil.充气(充气器,R.layout.item\u article\u卡,父级,false);
返回新的MyViewHolder(itemArticleCardBinding);
}
@凌驾
公共无效onBindViewHolder(最终MyViewHolder,内部位置){
ArticleModel ArticleModel=articleModelList.get(位置);
持有人。绑定(articleModel);
}
@凌驾
public int getItemCount(){
返回articleModelList.size();
}
}