在片段中使用上下文

新手上路,请多包涵

如何在片段中获取上下文?

我需要使用我的数据库,其构造函数在上下文中,但是 getApplicationContext()FragmentClass.this 不起作用,我该怎么办?

数据库构造函数

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

原文由 tyczj 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 372
2 个回答

您可以使用 getActivity() ,它返回与 fragment 关联的活动。

该活动是 context (因为 Activity 扩展 Context

原文由 user658042 发布,翻译遵循 CC BY-SA 4.0 许可协议

按照上面的答案,你可以覆盖片段的 onAttach 方法:

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

原文由 iambox 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题