【发布时间】:2014-02-17 20:46:17
【问题描述】:
我刚刚阅读了Using context in a fragment,因为我需要获取上下文才能初始化数据库。使用Fragment#getActivity() 获取Context 或在Fragment#onAttach(Activity) 回调方法中执行此操作的2 个投票最多的答案。
问题是,为了维护一个有据可查的代码,我想避免以“替代”方式做事,而是按照应有的方式去做。
根据此处的Fragment 生命周期判断:http://developer.android.com/guide/components/fragments.html#Creating 似乎在onCreate 之前调用了onAttach(),这意味着getActivity() 此时不应返回null。
问题是:
- 是不是要在
onAttach()里面初始化一个数据库? - 即使
onAttach()已经被调用,getActivity()在onCreate()内部调用时是否可以返回null?
【问题讨论】:
-
你解决了吗?您是否有更好的答案可以添加,或者您可以接受另一个以关闭此问题并将其从未回答的 android 列表中删除,谢谢!
-
是的,我最终将我的数据库设为
Singletοn,因此ViewPager中的每个片段都将具有相同的连接。然后我在我的Application#onCreate()子类上初始化它 -
您可以回答自己的问题 - 您应该只是整理未回答的列表
标签: android sqlite android-fragments