ユーザーがリストの最後にいるかどうかを理解するために実装OnScrollListener
しました。次のように、リストに新しいデータを正常に追加できました。
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == SCROLL_STATE_IDLE) {
if (list.getLastVisiblePosition() >= list.getCount()-1) {
currentPage++;
loadMore(currentPage);
adapter.notifyDataSetChanged();
}
}
}
問題はnotifyDataSetChanged
、期待どおりに ListView 全体を更新することです。しかし、私のリストにはインターネットから非同期に読み込まれる画像があるため、この更新により画像が再度読み込まれ、これは明らかに望ましくありません。Facebook や Twitter などのアプリケーションは、この種の更新をまったく行わずに、最後に新しいデータをシームレスに添付します。彼らはどのようにそれを行いますか、どうすればこのシームレスな無限スクロールを実現できますか?
リロードを防ぐためにアダプターのメソッドで何かをする必要があると思いますが、getView
まだ理解できませんでした。既知の方法はありますか?
ありがとう!