package com.github.captain_miao.agera.tutorial.recycleview;
import android.databinding.DataBindingUtil;
import android.databinding.ViewDataBinding;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.github.captain_miao.agera.tutorial.BR;
import com.github.captain_miao.agera.tutorial.R;
import com.github.captain_miao.agera.tutorial.model.GirlInfo;
import com.github.captain_miao.recyclerviewutils.BaseWrapperRecyclerAdapter;
import java.util.List;
/**
* @author YanLu
* @since 16/4/27
*/
public class GirlListAdapter extends BaseWrapperRecyclerAdapter<GirlInfo, RecyclerView.ViewHolder> {
public GirlListAdapter() {
}
public GirlListAdapter(List<GirlInfo> items) {
addAll(items);
}
@Override
public RecyclerView.ViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.recycler_item_view, parent, false);
return new GirlListAdapter.ViewHolder(view);
}
@Override
public void onBindItemViewHolder(RecyclerView.ViewHolder holder, int position) {
final GirlInfo info = getItem(position);
if(holder instanceof ViewHolder){
ViewDataBinding binding = ((ViewHolder) holder).getBinding();
binding.setVariable(BR.info, info);
binding.executePendingBindings();
}
}
public static class ViewHolder extends RecyclerView.ViewHolder {
private ViewDataBinding mBinding;
public ViewHolder(View itemView) {
super(itemView);
mBinding = DataBindingUtil.bind(itemView);
}
public ViewDataBinding getBinding() {
return mBinding;
}
}
}