这是我不久前已经问过的问题的延续。我得到了一个实际上不起作用的解决方案。无论如何-这是问题/问题
我查看了过去的一些帖子,似乎如果我将项目添加到 ListView 适配器,它应该会自行更新,并且用户应该能够滚动到新附加的项目。不幸的是,这不是我观察到的。如果我将新项目附加到现有的 ArrayAdapter,我只会在再次重新运行 ListView#setAdapter 时看到更新的结果。什么都不做,使视图无效等不做任何事情。这是一个片段:
SearchItemsAdapter a = (SearchItemsAdapter) listview.getAdapter();
List<SearchItem> values = fetchNextSetOfItems();
a.append(values);
// unless I do this - I will not see the update, but if I do -
// I'll jump to the top
listview.setAdapter(a);
这是附加方法:
public void append(List<SearchItem> values) {
this.items.addAll(values);
}
有什么我想念的吗?