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