In my RecyclcerView
, when I scroll down and scroll back up again, I want to stop binding the top items.
I tried this code
recyclerView.getRecycledViewPool().setMaxRecycledViews(ItemTypeHead1, 0);
but position 0 gets rebinded again. the reason I want to do this is rendering of each item is really heavy and that cause lag on scrolling. this is my adapater
public class HomeSliderListAdapter extends AdvanceRecycleViewAdapter<HomeSliderListAdapter.Holder, Banner> implements OnRecycleItemClick<Banner> {
public interface CallBack {
void onClick(Banner Banner);
}
private Context context;
private CallBack callBack;
public HomeSliderListAdapter(Context context, CallBack callBack) {
this.context = context;
this.callBack = callBack;
}
@Override
public Holder createDataHolder(ViewGroup parent, int viewType) {
return new Holder(makeView(parent, R.layout.row_home_one_banner));
}
@Override
public void onBindDataHolder(Holder holder, int position) {
Banner banner = getItems().get(position);
EpizodUtil.getPicasso(context)
.load(EpizodUtil.getConvertedImagePath(banner.getImagePath() + "", Common.ImageSize.s10))
.networkPolicy(NetworkPolicy.NO_CACHE)
.into(holder.img_background);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (callBack != null) {
callBack.onClick(banner);
}
}
});
holder.txt_title.setText(EpizodUtil.checkNullString(banner.getTitleFa()));
holder.txt_subtitle.setText(EpizodUtil.checkNullString(banner.getSubtitleFa()));
}