package com.github.captain_miao.agera.tutorial.recycleview;
import android.databinding.DataBindingUtil;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import com.github.captain_miao.agera.tutorial.BR;
import com.github.captain_miao.agera.tutorial.R;
import com.github.captain_miao.agera.tutorial.databinding.RecyclerItemViewBinding;
import com.github.captain_miao.agera.tutorial.model.GirlInfo;
import com.google.android.agera.Result;
import com.google.android.agera.rvadapter.RepositoryPresenter;
import java.util.List;
/**
* @author YanLu
* @since 16/5/23
*/
public class GirlInfoPresenter extends RepositoryPresenter<Result<List<GirlInfo>>> {
@Override
public int getItemCount(@NonNull Result<List<GirlInfo>> data) {
if (data.succeeded()) {
return data.get().size();
}
return 0;
}
@Override
public int getLayoutResId(@NonNull Result<List<GirlInfo>> data, int index) {
return R.layout.recycler_item_view;
}
@Override
public void bind(@NonNull Result<List<GirlInfo>> data, int index, @NonNull RecyclerView.ViewHolder holder) {
if (data.isAbsent() || data.failed()) {
return;
}
final GirlInfo info = data.get().get(index);
final RecyclerItemViewBinding binding = DataBindingUtil.bind(holder.itemView);
binding.setVariable(BR.info, info);
}
}