片段到 Activity 再次回到同一个片段
Fragment to Activity back again on same Fragment
我有一个 activity 有 4 个片段。在片段 3 上有一个按钮,当我单击该按钮时,我会转到其他一些 activity(如测试 Activity)。我使用此代码从片段 3 转到那个 TestActivity:
startActivity(new Intent(getActivity(), TestActivity.class));
当我在 TestActivity 上按下后退按钮时,它会将我重定向到 Main Activity 的第一个片段(默认)。我希望当用户按下 TestActivity 再次回到 Fragment 3 时。请建议我如何实现此行为。谢谢
首先你应该知道 fragment
和 activity
back stack 有区别。
在更改您的 fragment
时,您应该使用添加 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();
我有一个 activity 有 4 个片段。在片段 3 上有一个按钮,当我单击该按钮时,我会转到其他一些 activity(如测试 Activity)。我使用此代码从片段 3 转到那个 TestActivity:
startActivity(new Intent(getActivity(), TestActivity.class));
当我在 TestActivity 上按下后退按钮时,它会将我重定向到 Main Activity 的第一个片段(默认)。我希望当用户按下 TestActivity 再次回到 Fragment 3 时。请建议我如何实现此行为。谢谢
首先你应该知道 fragment
和 activity
back stack 有区别。
在更改您的 fragment
时,您应该使用添加 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();