如何获取片段中的上下文?
我需要使用我的数据库,它的构造函数接受上下文,但是getApplicationContext()
和FragmentClass.this
不能工作,我该怎么办?
数据库构造函数
public Database(Context ctx)
{
this.context = ctx;
DBHelper = new DatabaseHelper(context);
}
发布于 2011-11-21 16:52:33
您可以使用getActivity()
,它返回与fragment
关联的活动。
该活动是一个context
(因为Activity
扩展了Context
__)。
发布于 2012-10-25 16:24:14
要按照上面的答案操作,您可以覆盖fragment的onAttach
方法:
public static class DummySectionFragment extends Fragment{
...
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
DBHelper = new DatabaseHelper(activity);
}
}
发布于 2014-02-05 15:15:31
获取我找到的片段上下文的最简单、最精确的方法是在调用onCreateView
方法时直接从ViewGroup
获取它,至少在这里,您肯定不会为getActivity()
获取null
public class Animal extends Fragment {
Context thiscontext;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
thiscontext = container.getContext();
https://stackoverflow.com/questions/8215308
复制