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();
}
}