【问题标题】:Fragment to Activity back again on same FragmentFragment 到 Activity 在同一个 Fragment 上再次返回
【发布时间】:2020-08-26 09:37:20
【问题描述】:
我有一个包含 4 个片段的活动。在片段 3 上有一个按钮,当我单击该按钮时,我会转到其他一些活动(如 TestActivity)。我使用这段代码从片段 3 转到那个 TestActivity:
startActivity(new Intent(getActivity(), TestActivity.class));
当我按下 TestActivity 上的返回按钮时,它会将我重定向到主活动的第一个片段(默认)。我希望当用户按下 TestActivity 以再次来到 Fragment 3 时。请建议我如何实现这种行为。谢谢
【问题讨论】:
标签:
android
android-fragments
android-activity
【解决方案1】:
首先你应该知道fragment和activity back stack之间的区别。
在更改您的 fragment 时,您应该使用 add addToBackStack("name") ,如下所示:
科特林:
在fragment:
requireActivity().supportFragmentManager.beginTransaction()
.replace(R.id.framelayout_main_fragmentContainer,SecondFragment())
.addToBackStack("first")
.commit()
在activity:
supportFragmentManager.beginTransaction()
.replace(R.id.framelayout_main_fragmentContainer,Firstfragment())
.addToBackStack("first")
.commit()
JAVA:
getFragmentManager().beginTransaction().
replace(R.id.framelayout_main_fragmentContainer, Firstfragment()).
addToBackStack("first").commit();