在片段中使用上下文

我如何获得片段中的上下文?

我需要使用我的数据库的构造函数在上下文中,但getApplicationContext()FragmentClass.this不工作,所以我能做什么?

数据库构造函数

public Database(Context ctx)
{
    this.context = ctx;
    DBHelper = new DatabaseHelper(context);
}

您可以使用getActivity() ,它返回与片段关联的活动。
该活动是一个上下文(因为Activity扩展上下文)。


要做到上面的答案,你可以重写片段的onAttach方法:

public static class DummySectionFragment extends Fragment{
...
    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        DBHelper = new DatabaseHelper(activity);
    }
}

始终使用getActivity()方法获取所连接活动的上下文,但始终记住一件事情:片段稍微不稳定,并且getActivity有时会返回null,因此,在获取上下文之前,始终检查片段的isAdded()方法getActivity()

链接地址: http://www.djcxy.com/p/79049.html

上一篇: Using context in a fragment

下一篇: Need help,Screen didn't turn on after I change Activity's theme