поэтому в какой-то момент я нахожусь в действии, называемом MainActivity, я перехожу к другому действию, называемому OtherActionsActivity, и в этом упражнении сначала у меня есть 3 фрагмента. В какой-то момент этого фрагмента у меня есть AllProductsFragment, я открываю DialogFragment и выбираю из него тип продукта, а после выбираю другой.Откроется фрагмент под названием AddProductFragment.Моя проблема в том, что когда AddProductFragment активен, и нажмите кнопку «Назад», это убивает всю активность, но нормальный поток: 1 - вперед от OtherActionsActivity: AllProductFragment -> DialogFragment -> AddProductFragment.2 - назад от OtherActionsActivity: AddProductFragment -> AllProductFragment
OtherActionsActivity onCreate:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_other_actions);
if (getIntent().getExtras() != null) {
currentPageFragment = (Fragment) getIntent().getExtras().getSerializable(CURRENT_PAGE_ID);
}
if (savedInstanceState == null) {
getSupportFragmentManager()
.beginTransaction()
.add(R.id.other_actions_container, currentPageFragment)
.commit();
}
}
@Override
public void navigateTo(Fragment fragment, boolean addToBackstack) {
FragmentTransaction transaction =
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.other_actions_container, fragment);
if (addToBackstack) {
transaction.addToBackStack(null);
}
transaction.commit();
}
Перенос из AllProductFragment в DialogFragment
DialogFragment dialog = SelectChoiceFragment.getInstance(R.string.products_type_title, R.array.products_types
, false, null);
dialog.show(getFragmentManager(), "dialog");
Перенос из диалогового окна в AddProductFragment
((OtherActionsActivity)getActivity())
.navigateTo(AddProductFragment.getInstance(checkedItems), false);
СПАСИБО В РАСШИРЕННОМ.