package com.ywwxhz.data; import android.app.Activity; import android.widget.AdapterView; import com.ywwxhz.adapters.BaseAdapter; import java.util.List; /** * cnBetaReader * <p/> * Created by 远望の无限(ywwxhz) on 2015/3/25 20:33. */ public abstract class ListDataProvider<DataType,DataAdapter extends BaseAdapter<DataType>> extends BaseDataProvider<List<DataType>> { private DataAdapter adapter; private Activity mActivity; private int minPageSize; private int pageSize; protected boolean hasCached; public ListDataProvider(Activity activity) { super(activity); } public DataAdapter getAdapter() { if(adapter == null){ adapter = newAdapter(); } return adapter; } @Override public void setActivity(Activity activity) { super.setActivity(activity); getAdapter().setContext(activity); } protected abstract DataAdapter newAdapter(); public abstract String getTypeKey() ; public abstract String getTypeName(); public abstract void loadNewData(); public abstract void loadNextData(); public AdapterView.OnItemClickListener getOnItemClickListener(){return null;} public AdapterView.OnItemLongClickListener getOnItemLongClickListener(){return null;} public boolean isCached() { return hasCached; } public int getMinPageSize() { return minPageSize; } public void setMinPageSize(int pageSize) { this.minPageSize = pageSize; } public void setPageSize(int pageSize){ this.minPageSize = this.pageSize = pageSize; } public int getPageSize() { return pageSize; } }