【问题标题】:Android:Saving Fragment State/contents of each views in each Fragment when using ViewPagerAndroid:使用ViewPager时保存每个Fragment中每个视图的Fragment状态/内容
【发布时间】:2011-09-13 10:15:58
【问题描述】:

我真的,真的需要一个认真的帮助。 我正在创建一个使用PagerAdapteractivity 中创建Fragments 的android 应用程序。不同的片段根据需要由运行时创建的不同视图组成。在最后一个片段中,我创建了一种"Submit button",当单击它时,应该从所有片段的每个视图(如EditText)中获取用户输入的值。

我正在使用以下命令来获取视图(int 上面提到的按钮clicklistener):

EditText e = (EditText) (getActivity().findViewById(i));

但是除了最后两个片段之外,它没有获得具有该 ID 的视图。 所以,我假设,它只保存了该活动中最后两个片段的状态。 那么,如何保存活动中所有片段的'view states'

难道不是这样,当在 Fragment 中创建视图并添加到其布局中时,该视图也添加到主活动布局中?我理解错了吗?请告诉我。

为了简化,我的问题是:

我们如何将用户输入的内容保存在 Fragments 中动态创建的 EditText 中,使用 ViewPager 创建(以便以后可以访问)??

【问题讨论】:

    标签: android android-fragments android-viewpager


    【解决方案1】:

    当您将片段添加到 FragmentPagerAdapter(假设您尚未编写自定义分页器)时,它会添加到 FragmentManager。片段管理器独立于活动生命周期,因此它保留片段状态。

    如果你看这里:http://code.google.com/p/ratebeerforandroid/source/browse/trunk/JakeWharton-ActionBarSherlock/library/src/android/support/v4/app/FragmentPagerAdapter.java?spec=svn42&r=42

    您可以了解它的工作原理。如果您想为另一个会话保存片段状态,您需要拉回每个片段(getItem)并使用 onSaveInstanceState 或编写自己的自定义函数

    希望有帮助

    【讨论】:

      猜你喜欢
      • 2011-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-16
      • 1970-01-01
      • 1970-01-01
      • 2013-11-29
      相关资源
      最近更新 更多