我正在使用ViewPager和FragmentManager填充一些EditText并单击下一步按钮继续。但是当我点击上一个按钮返回到最后一个片段时,表单中的信息就会丢失,因为我总是像这样重新实例化每个片段:
void previousFragment(){
Fragment newFragment = new RegisterLink_();
final FragmentManager fm = getActivity().getSupportFragmentManager();
final FragmentTransaction ft = fm.beginTransaction();
ft.setCustomAnimations(R.anim.in, R.anim.out);
ft.replace(R.id.register_upload, newFragment);
ft.addToBackStack(null);
ft.commit();
}
}
有人可以告诉我如何从片段滑动到另一个片段而不会丢失用户插入的信息。谢谢你的帮助,抱歉我的英语不好。
答案 0 :(得分:2)
当您在片段之间导航时,为了在这种情况下保存数据,您可以执行以下操作
因此,当您保存数据时,您可以随时使用用户输入的正确值初始化所有表单字段。
答案 1 :(得分:0)
在调用前一个片段之前,您必须从当前片段中提取数据。 在片段中创建一个为您提供该值的方法。
FragmentManager fragmentManager = getFragmentManager();
YOUR_FRAGMENT f = (YOUR_FRAGMENT)fragmentManager.findFragmentByTag(THE_TAG);
f.theNewMethod(); // store this!
答案 2 :(得分:0)
如果您想使用按钮返回上一个片段,只需在按钮上添加此代码:
void previousFragment(){
getFragmentManager().popBackStack();
getFragmentManager().executePendingTransactions();
}
然后你就不会丢失上一段片段的最后一次编辑