DialogFragment показывает только один раз - - PullRequest
0 голосов
/ 14 октября 2019

Итак, у меня есть одно диалоговое окно, которое я пытаюсь показать из Деятельности, у этого действия есть навигационный график (JETPACK)

, сейчас я могу показать это всплывающее окно только один раз, если я в моемДействие, затем, если я закрою действие и вернусь к нему снова, диалоговое окно не отобразится, потому что состояние действия уже сохранено. и я использую commitAllowingStateLoss для фиксации этого фрагмента диалога, если я использую фиксацию, он падает. я искал везде в stackoverflow, не мог найти единственное решение для этой проблемы.

код того, как я показываю фрагмент:

 public void show(Context context) {

    FragmentManager fragmentManager = ((AppCompatActivity) context).getSupportFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    Fragment prev = fragmentManager.findFragmentByTag(TAG_DIALOG);
    if (prev != null) {
        fragmentTransaction.remove(prev);
    }

    fragmentTransaction.add(this, TAG_DIALOG);
    fragmentTransaction.commitAllowingStateLoss();
}

1 Ответ

0 голосов
/ 14 октября 2019

Пожалуйста, покажите, как вы открываете фрагмент.

Сохраняете ли вы что-нибудь, когда действие закрывается? Я могу только вообразить проблемы с сохранением фактического экземпляра фрагмента, но это все догадки, не видя никакого кода.

...