android – 如何保存ListView的滚动位置

前端之家收集整理的这篇文章主要介绍了android – 如何保存ListView的滚动位置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我在ListView中选择一个项目时,如何保存ListView的滚动位置,并且我想在同一个ListView中返回.

假设我们有两个片段 – ListFragment和SomeOtherFragment.我们用SomeOtherFragment替换ListFragment.

FragmentManager manager = getFragmentManager();
    FragmentTransaction transaction = manager.beginTransaction();

    transaction.replace(R.id.content_frame,fragment);
    transaction.addToBackStack(null);
    transaction.commit();

解决方法

我知道最好的解决方

//将ListView状态(=包括滚动位置)保存为Parcelable

Parcelable state = listView.onSaveInstanceState();

//恢复以前的状态(包括选定的项目索引和滚动位置)

listView.onRestoreInstanceState(state);

即使在将适配器设置为 – 后,您也可以恢复上次保存的位置 –

// Save the ListView state (= includes scroll position) as a Parceble
Parcelable state = listView.onSaveInstanceState();

// e.g. set new items
listView.setAdapter(adapter);

// Restore prevIoUs state (including selected item index and scroll position)
listView.onRestoreInstanceState(state);

您还可以参考here了解更多详情.

猜你在找的Android相关文章