相关疑难解决方法(0)

返回ListView时保持/保存/恢复滚动位置

我有一个很长ListView的用户可以在返回上一个屏幕之前滚动.当用户ListView再次打开它时,我希望列表滚动到之前的相同点.关于如何实现这一点的任何想法?

android scroll scroll-position android-listview

388
推荐指数
8
解决办法
20万
查看次数

有没有办法阻止列表视图在其适配器的数据更改时滚动到其顶部位置?

在更改它的适配器数据时,我在保留列表视图的滚动位置时遇到了一些麻烦.

我目前正在做的是在onCreateListFragment中创建一个自定义ArrayAdapter(带有重写的getView方法),然后将其分配给它的列表:

mListAdapter = new CustomListAdapter(getActivity());
mListAdapter.setNotifyOnChange(false);
setListAdapter(mListAdapter);
Run Code Online (Sandbox Code Playgroud)

然后,当我从定期获取一切装载机接收新的数据,我这样做是在其onLoadFinished回调:

mListAdapter.clear();
mListAdapter.addAll(data.items);
mListAdapter.notifyDataSetChanged();
Run Code Online (Sandbox Code Playgroud)

问题是,调用clear()重置listview的滚动位置.删除该调用会保留该位置,但它显然会将旧项目留在列表中.

这样做的正确方法是什么?

android

20
推荐指数
2
解决办法
2万
查看次数