Okno dialogowe znika podczas zmiany orientacji we fragmencie

Więc nie jestem zbyt doświadczonym programistą na Androida, więc proszę bądź dla mnie delikatny :)

Próbuję utworzyć aplikację, która korzysta z fraz i wewnątrz jednego z tych fragmentów dzwonię do niestandardowego okna dialogowego.

//create dialog
final Dialog dialog = new Dialog(getActivity());
dialog.setCancelable(false);
dialog.setContentView(R.layout.fragment_update_dialog);

//set up data in dialog here

Button bUpdate = (Button) dialog.findViewById(R.id.bDialogUpdate);
bUpdate.setOnClickListener(new OnClickListener() 
{
//define onclick listener code here
});
dialog.show();

Ten kod działa poprawnie i nie mam z nim żadnych problemów. Ale gdy zmieni się orientacja ekranu, moje okno dialogowe zniknie.

Teraz przeczytałem kilka postów na tym forum i w innych miejscach, więc rozumiem, dlaczego tak się dzieje, ale nie mogę znaleźć rozwiązania, aby to zatrzymać.

Próbowałem „trick” z plikiem manifestu, ale to nie działa. (Może dlatego, że jest we fragmencie, a nie w aktywności?)

Mój plik manifestu zawiera;

<activity
        android:name="com.mycompany.myapp.MainActivity"
        android:configChanges="keyboardHidden|orientation"
....

i w mojej głównej działalności mam

@Override
public void onConfigurationChanged(Configuration newConfig) 
{
    super.onConfigurationChanged(newConfig);
setContentView(R.layout.activity_main);
}

Ale to nie działa.

Widzę też wiele komentarzy mówiących, że nie jest to zalecane, ale nie widzę, jak rozwiązać ten problem.

Dzięki za pomoc

questionAnswers(3)

yourAnswerToTheQuestion