データベースがあり、そこからリストビューにデータをロードしています。ユーザーがリストビューを最後までスクロールしてデータベースからさらに 20 項目を取得し、リストビューに追加した後、データベースから 20 項目を取得するように書いていますが、リストビューへの読み込みで 1 つまたは 2 つの項目を読み込む際に問題があります。リストビューにデータが表示されません。私のコードは次のとおりです。
private ListviewAdapter adapter;
list.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView arg0, int arg1) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, final int totalItemCount) {
if (totalItemCount > 0)
{
int lastInScreen = firstVisibleItem + visibleItemCount;
if(lastInScreen == totalItemCount)
{
Parcelable state = list.onSaveInstanceState();
//Fill my_array
adapter = new ListviewAdapter(MainActivity.this, my_array);
list.setAdapter(adapter);
list.onRestoreInstanceState(state);
}
}
}
});
読み込まれたデータが画面よりも大きい場合は正常に動作しますが、読み込まれたデータが画面よりも小さい場合、リストビューに何も表示されません。
この問題を解決するにはどうすればよいですか?