ریفکتور اداپتر ریسایکلر ویو با دیتا بایندینگ
يكشنبه, ۱۴ دی ۱۳۹۹، ۱۲:۱۷ ق.ظ
اداپتر متدهای "onCreateViewHolder" و "onBindViewHolder" و همچنین کلاس داخلی ViewHolder تحت تاثیر قرار میگیرد. کد زیر اداپتر اپ انیمیشن رو نشون میده. تغییرات مشخص هستن.
public class CartoonAdapter extends RecyclerView.Adapter<CartoonAdapter.CartoonViewHolder>{
Context context;
List<Cartoon> cartoonList;
public CartoonAdapter(Context context, List<Cartoon> cartoonList) {
this.context = context;
this.cartoonList = cartoonList;
}
@NonNull
@Override
public CartoonViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
CartoonItemBinding cartoonItemBinding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()), R.layout.cartoon_item,parent, false);
return new CartoonViewHolder(cartoonItemBinding);
}
@Override
public void onBindViewHolder(@NonNull CartoonViewHolder holder, int position) {
Cartoon cartoon = cartoonList.get(position);
holder.cartoonItemBinding.setCartoon(cartoon);
}
@Override
public int getItemCount() {
return cartoonList.size();
}
public class CartoonViewHolder extends RecyclerView.ViewHolder{
CartoonItemBinding cartoonItemBinding;
public CartoonViewHolder(CartoonItemBinding cartoonItemBinding) {
super(cartoonItemBinding.getRoot());
this.cartoonItemBinding = cartoonItemBinding;
}
}
}
مشاهده نمونه های دیگر اداپتر با دیتا بایندینگ:
۹۹/۱۰/۱۴