Фрагмент навигационного потока - PullRequest
0 голосов
/ 01 декабря 2018

поэтому в какой-то момент я нахожусь в действии, называемом 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);

СПАСИБО В РАСШИРЕННОМ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...