package android.marshon.likequanmintv.view.lazyvp;
import android.view.View;
import android.view.ViewGroup;
public abstract class LazyViewPagerAdapter extends LazyPagerAdapter<View> {
@Override
public Object instantiateItem(ViewGroup container, int position) {
View itemView = getItem(container, position);
mLazyItems.put(position, itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// we do not want to remove view at #position from container
}
private String makeTag(int position) {
return String.format("Attach #%d to ViewPager", position);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public View addLazyItem(ViewGroup container, int position) {
View itemView = container.findViewWithTag(makeTag(position));
if (itemView == null) {
itemView = mLazyItems.get(position);
itemView.setTag(makeTag(position));
container.addView(itemView);
mLazyItems.remove(position);
}
return itemView;
}
}