У меня возник вопрос, который, надеюсь, вы можете помочь мне исправить. В моем приложении для Android я показываю Snackbar обычным способом (Snackbar.make().show()
). Однако мне также приходится иметь дело с изменениями конфигурации (например, изменения ориентации от портрета к пейзажу).Как справиться с изменением конфигурации в Snackbar?
Теперь, если конфигурация изменится, Snackbar исчезает, и я ничего не ожидаю. У меня была такая же проблема с ProgressDialog и AlertDialog, которую я решил с помощью пользовательского подкласса DialogFragment.
Я также имел этот вопрос с моим AsyncTasks, которые я решить, используя пользовательский подкласс фрагмента, который я сохранить (setRetainInstance(true)
в onCreate()
фрагменте) и который держит ссылку на мой AsyncTask. В обоих случаях каждый фрагмент имеет интерфейс обратного вызова, который должен выполнить Activity, и я устанавливаю/отменяет обратный вызов во время onAttach()
/onDetach()
.
Однако, Snackbar кажется другим, потому что он прикреплен к представлению вместо контекста, например, к ProgressDialog (в getDialog()
моего DialogFragment я могу использовать новый ProgressDialog(getActivity())
).
Итак, когда и как мне отобразить закусочную после изменения конфигурации? Использует ли фрагмент способ, или я должен попытаться обойти это, имея некоторые частные переменные в моей деятельности, которые я сохраняю/восстанавливаю с помощью savedInstanceState
?