我遇到了ViewPager的问题,我的ListView正在丢失它的滚动位置.
使用以下命令可以轻松地存储和恢复ListView的状态:
@Override
public View onCreateView (LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.frag_cool_things,container,false);
AdvListView listView = (AdvListView) v.findViewById(R.id.lv0);
listView.setonItemClickListener( mOnListItemClicked );
if (null != savedInstanceState)
{
listView.onRestoreListViewInstanceState(savedInstanceState.getParcelable("list_state"));
}
mListView = listView;
return v;
}
@Override
public void onSaveInstanceState (Bundle outState)
{
super.onSaveInstanceState(outState);
outState.putParcelable("list_state",mListView.onSaveListViewInstanceState());
}
然而问题是当片段被刷过onDestroyView()被调用但从不调用onSaveInstanceState(Bundle outState).
旋转屏幕,这样恢复ListView状态就好了,但刷卡我无法弄清楚如何正确恢复列表.
解决方法
更新12/17/11:
我实际上找到了保存片段内容的正确方法.您必须使用FragmentStatePagerAdapter.此适配器正确保存片段的状态!
我实际上找到了保存片段内容的正确方法.您必须使用FragmentStatePagerAdapter.此适配器正确保存片段的状态!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。