我正在制作一个带有几个屏幕的应用程序,并且必须可以使用后退按钮在应用程序中导航。
我在一个屏幕上遇到问题,我的 MainFragment。它似乎无法识别后台堆栈。
MainFragment 从这里的 MainActivity 启动:
if (savedInstanceState == null) {
getFragmentManager().beginTransaction().replace(R.id.container, new MainFragment()).addToBackStack("mainFragment")
.commit();
}
所以当应用程序启动时,这个片段就被加载了。从这个 mainFragment 我可以导航到不同的屏幕。我的 mainActivity 中有方法,我在 MainFragment 中调用这些方法进行导航:
public void navigateToListCountriesSeen(){
getFragmentManager().beginTransaction().replace(R.id.container, new listCountriesSeenFragment()).addToBackStack("listSeen")
.commit();
}
public void navigateToListCountriesToSee(){
getFragmentManager().beginTransaction().replace(R.id.container, new listCountriesToSeeFragment()).addToBackStack("listToSee")
.commit();
}
但是,每当我在 countrySeen 或 CountryToSee 片段/屏幕中并按下后退按钮时,应用程序就会关闭......
我该如何解决?