1時間の調査の後、私の問題を解決しました:
setOnScrollListener
- ListView の lastIndex を取得するために実装します
- lastIndexを使用して 10 個のアイテムを追加してデータを更新するスレッドを作成しadapter
ます。
ここに説明があります
gtumcaDynamicListView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// what is the bottom iten that is visible
int lastInScreen = firstVisibleItem + visibleItemCount;
if((lastInScreen == totalItemCount) && !(loadingMore)) {
//Run background thread
Thread tt = new loadBackgroung(lastInScreen, adaptor);
tt.start();
}
}
});
class loadBackgroung extends Thread{
public int lastIndex;
public MyCustomAdaptor adaptor;
public loadBackgroung(int lastIndex, MyCustomAdaptor adaptor) {
super();
this.lastIndex = lastIndex;
this.adaptor = adaptor;
}
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
for(int i = 0;i<10;i++){
gtuMcaBean.add(new GtuMcaBean((lastIndex + i)+" First", (lastIndex + i)+" Last", (lastIndex + i)+" Birthdate"));
}
adaptor.notifyDataSetChanged();
}
});
loadingMore = false;
}
完全なコード: http://code.google.com/p/dynamic-listview/source/checkout