我已经实施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。但由于在我的列表中有从 Internet 异步加载的图像,因此此刷新会导致图像再次加载,这显然是不希望的。Facebook、Twitter 等应用程序在最后无缝地附加新数据,根本不需要这种刷新。他们是怎么做到的,我怎么也能做到这种无缝的无尽滚动?
我想我必须在适配器的getView
方法中做一些事情来防止重新加载,但我还想不通。有已知的方法吗?
谢谢!