我真的非常需要在这里提供认真的帮助。
我正在创建一个Android应用,它使用PagerAdapter
在Fragments
中创建activity
。不同的片段根据需要包含在运行时创建的不同视图。在最后一个片段中,我创建了一种"Submit button"
,在单击时,应该从所有片段中的每个视图(如EditText
)中获取用户输入的值。
我使用以下命令获取视图(在上面提到的按钮clicklistener
中):
EditText e = (EditText) (getActivity().findViewById(i));
但除了前两个片段之外,它没有使用该ID查看视图。
所以,我假设,它只保存该活动中最后两个片段的状态。
那么,如何保存活动中所有片段的'view states'
?
并不是这样,当在Fragment中创建视图并在其布局中添加视图时,该视图也会添加到主活动布局中?我是以错误的方式理解它吗?请让我知道。
为简化起见,我的问题是:
如何将用户输入的内容保存在使用ViewPager创建的Fragments中动态创建的EditText中(以便以后可以访问)?
答案 0 :(得分:0)
将片段添加到FragmentPagerAdapter时(假设您没有编写自定义寻呼机),它会被添加到FragmentManager中。 Fragment管理器独立于活动生命周期,因此它保留了片段状态。
您可以了解它的工作原理。如果要为另一个会话保存片段状态,则需要拉回每个片段(getItem)并使用onSaveInstanceState或编写自己的自定义函数
希望有所帮助