SimplePagerAdapter.java 1.7 KB
package com.cnlive.goldenline.ui.base;

import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;

import java.util.ArrayList;
import java.util.List;

public class SimplePagerAdapter<T> extends PagerAdapter {

    @Nullable
    private List<T> list = new ArrayList<T>();

    public SimplePagerAdapter() {
    }

    public SimplePagerAdapter(List<T> list) {
        setList(list);
    }

    @Nullable
    public List<T> getList() {
        return list;
    }

    public void setList(@Nullable List<T> list) {
        if (list == null) return;
        this.list = list;
    }

    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        return arg0 == arg1;
    }

    @Override
    public int getCount() {
        if (list != null && list.size() > 0) {
            return list.size();
        } else {
            return 0;
        }
    }

    @Override
    public void destroyItem(@NonNull View container, int position, Object object) {
        ((ViewPager) container).removeView((View) object);
    }

    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        View view = getItemView(container, position);
        container.addView(view);
        return view;
    }

    public View getItemView(@NonNull ViewGroup container, int position) {

        return new View(container.getContext());
    }

    public T getItem(int position) {
        return list.get(position);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return super.getPageTitle(position);
    }
}