android中的Endless Scrolling List View

时间:2014-03-13 11:58:56

标签: android

我正在使用列表视图显示记录列表。当用户滚动到结束时,我正在加载记录。

这里我的问题是记录正在加载,但滚动每次都会转到第一条记录,以及当记录全部加载时如何结束。

1 个答案:

答案 0 :(得分:3)

您的意思是当用户到达ListView的底部时,您会加载其他数据,但ListView会跳回到ListView的顶部吗?

这可能是因为您重置了适配器。尝试修改适配器的数据源,然后在适配器上调用notifyDataSetChanged(),如下所示:

在你的适配器中你有一些数据源,比如所有项目的列表,为这些项目创建一个公共的getter:

public List<ListViewItem> getItems() {
   return this.items;
}

然后,当您加载其他项目时,您将从适配器获取列表并添加项目:

List<ListViewItem> items = adapter.getItems();
items.addAll(newItems);

然后调用notifyDataSetChanged()告诉适配器您更改了数据源:

adapter.notifyDataSetChanged();