Intereting Posts
ОШИБКА: НЕПРАВИЛЬНО НАЧАТЬ ПРОЦЕСС DAEMON – Создание Gradle в Android Studio 1.0 Nexus 7 не отображается в разделе «устройства adb» с ПК под управлением Windows 8 Маркировка SMS-сообщений как прочитанных / непрочитанных или удаленных сообщений, не работающих в KitKat DownloadManager ведет себя странно, когда путь к файлу назначения содержит пробел Атрибут дублирования данных XML DML Как прочитать файл в битовой карте Java? Пользовательский квадрат LinearLayout. Как? Фрагмент Android не заменяется должным образом Где в дереве проектов приложения Android разместить документацию разработчиков? Обои ImageView внутри пользовательского представления не отображаются на некоторых устройствах Создание серийного номера, специфичного для устройства Есть ли способ в Android заставить открыть ссылку для открытия в Chrome? Показать программную клавиатуру без EditText Обрезать видео Like whatsapp Как я могу остановить службу другого приложения в Android?

Контекст в предпочтении

Взято из http://developer.android.com/guide/topics/ui/settings.html :

Примечание. Предпочтение Fragment не имеет собственного объекта Context. Если вам нужен объект Context, вы можете вызвать getActivity (). Однако будьте осторожны, чтобы вызвать getActivity () только тогда, когда фрагмент привязан к активности. Когда фрагмент еще не прикреплен или был отсоединен в конце его жизненного цикла, getActivity () вернет значение null.

Если я вызову getActivity () из метода OnCreate () для PreferenceFragment, могу ли я быть уверенным, что фрагмент связан с его активностью – или есть ли другой способ получить контекст в этом случае?

Причина, по которой мне нужен контекст, я пытаюсь использовать уведомление Toast из PreferenceFragment

Если вы хотите убедиться, что контекст доступен, вам нужно подождать, пока фрагмент не будет прикреплен к Activity. Обратный вызов для этого – метод onAttach(Activity) .

В зависимости от состояния жизненного цикла вашего фрагмента метод getActivity() также может возвращать значение null.