Android:当使用ViewPager时,保存每个Fragment中每个视图的Fragment状态/内容



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

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

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

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

和是不是这样,当一个视图被创建在一个片段,并在其布局中添加,该视图也添加在主活动布局?我理解错了吗?请让我知道。

简化一下,我的问题是:

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

当你添加一个片段到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或编写自己的自定义函数

希望有帮助

最新更新