Я просто прочитал Using context in a fragment. Мне нужно получить контекст, чтобы инициализировать базу данных. 2 наиболее проголосовавших ответы, где Fragment#getActivity()
получить Context
или сделать это внутри Fragment#onAttach(Activity)
метод обратного вызова.Инициализация SQLite на фрагменте
Дело в том, что для поддержания хорошо документированного кода я хочу избегать «альтернативного» способа, но делать это так, как предполагалось.
Судя по Fragment
жизненного цикла найденного здесь: http://developer.android.com/guide/components/fragments.html#Creating кажется, что onAttach()
вызывается перед onCreate
, что означает getActivity()
НЕ должен возвращать нуль в этой точке.
Вопросы будут:
- это означало для инициализации базы данных внутри
onAttach()
? - Возможно ли для
getActivity()
вернутьnull
при вызове внутриonCreate()
, хотяonAttach()
уже был вызван?
Вы решили это? У вас есть лучший ответ, который вы можете добавить, или вы можете принять другого, чтобы закрыть этот вопрос и получить его от списка без ответа, спасибо! –
Да, я закончил создание моей базы данных «Singleto», поэтому каждый из моих фрагментов внутри «ViewPager» будет иметь такое же соединение. Затем я инициализировал его на моем подклассе 'Application # onCreate()' –
. Вы можете отвечать на свои вопросы - вам нужно просто подобрать оставшийся без ответа список –