1つのListViewをページングする方法
1550 ワード
1.public class NewAdapter extendsなどのカスタムAdapterを作成する
BaseAdapter、対応するメソッドを書き換えます.
2.次のようなページングオブジェクトPageを作成します.
3.NewAdapterクラスにPageオブジェクトフィールドと2つのListオブジェクトnewsListとtempListを追加し、関数を構築する
次のように数えられます.
BaseAdapter、対応するメソッドを書き換えます.
2.次のようなページングオブジェクトPageを作成します.
public class Page implements Serializable{
private int currentPage; //
private int totalPage; //
private int startIndex; // , currentPage eachPageCount
private int eachPageCount; //
public Page(int totalPage,int eachPageCount){this(totalPage,1,eachPageCount);}
public Page(int totalPage,int currentPage,int eachPageCount){
this.totalPage = totalPage;
this.currentPage = currentPage;
this.eachPageCount = eachPageCount;
//
this.startIndex = (currentPage - 1)*(eachPageCount-1);
}
//getter setter
public int getStartIndex(){
return (currentPage - 1)*(eachPageCount - 1);
}
public int getEndIndex(){
return startIndex + eachPageCount;
}
}
3.NewAdapterクラスにPageオブジェクトフィールドと2つのListオブジェクトnewsListとtempListを追加し、関数を構築する
次のように数えられます.
public NewAdapter(Context context,List newsList,int startIndex){
this.context = context;
tempList = newsList;
// 4
page = new Page(newsList.size/3,4);
this.newsList = newsList.subList(
page.getStartIndex),page.getEndIndex());
}