package in.srain.cube.views.list;
/**
* A adapter using View Holder to display the item of a list view;
*
* @param <ItemDataType>
* @author http://www.liaohuqiu.net
*/
public class PagedListViewDataAdapter<ItemDataType> extends ListViewDataAdapterBase<ItemDataType> {
protected ListPageInfo<ItemDataType> mListPageInfo;
/**
* @param viewHolderCreator The view holder creator will create a View Holder that extends {@link ViewHolderBase}
*/
public PagedListViewDataAdapter(ViewHolderCreator<ItemDataType> viewHolderCreator) {
super(viewHolderCreator);
}
public void setListPageInfo(ListPageInfo<ItemDataType> listPageInfo) {
mListPageInfo = listPageInfo;
}
public ListPageInfo<ItemDataType> getListPageInfo() {
return mListPageInfo;
}
@Override
public int getCount() {
if (null == mListPageInfo) {
return 0;
}
return mListPageInfo.getListLength();
}
@Override
public ItemDataType getItem(int position) {
if (null == mListPageInfo) {
return null;
}
return mListPageInfo.getItem(position);
}
public void clearList() {
if (null != mListPageInfo && mListPageInfo.getDataList() != null) {
mListPageInfo.getDataList().clear();
}
}
@Override
public long getItemId(int position) {
return position;
}
}