Я хотел бы добавить фрагмент в задний стек в последовательности f1,f2,f3... если я перехожу от f3 или f2, я должен достичь f1, тогда в заднем стеке ничего нет. этот код, который я использую:
public void openFragment(BaseFragment baseFragment, Bundle data) {
if (baseFragment != null) {
if (data != null)
baseFragment.setArguments(data);
Log.d(TAG, "openFragment" + baseFragment);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
String tag1 = getString(baseFragment.getTitleResourceId());
ft.replace(R.id.fragment_main, baseFragment, tag1);
ft.addToBackStack(null);
ft.commit();
if (baseFragment.getTitleResourceId() > 0)
mCurrentTitle = baseFragment.getTitleResourceId();
}
}
Я пытался использовать следующее, но никак:
public void openFragment(BaseFragment baseFragment, Bundle data) {
if (baseFragment != null) {
if (data != null)
baseFragment.setArguments(data);
Log.d(TAG, "openFragment" + baseFragment);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
String tag1 = getString(baseFragment.getTitleResourceId());
// Fragment frgExist = fragmentManager.findFragmentByTag(tag1);
ft.replace(R.id.fragment_main, baseFragment, tag1);
// if (frgExist == null)
ft.addToBackStack(null);
ft.commit();
if (baseFragment.getTitleResourceId() > 0)
mCurrentTitle = baseFragment.getTitleResourceId();
}
}
*BaseFragment - это просто абстрактный класс, расширяющий фрагмент, который устанавливает заголовок. Спасибо.