【问题标题】:Can't create database manager under Fragment Activity class无法在 Fragment Activity 类下创建数据库管理器
【发布时间】:2012-06-24 11:02:22
【问题描述】:

我现在正在尝试在 Fragment 类下创建新的数据库管理器。但不幸的是,我只是陷入了一些我以前从未遇到过的意外错误中。请看下面的代码。

public class About extends Fragment {
DBManager gDatabase = new DBManager(this);
private AboutInfo ai;

错误代码是构造函数 DBManage(About) 未定义。 提供两个快速修复:

将构造函数 'DBManager(Context) 更改为 'DBManager(About)'' 创建构造函数'DBManager(About)'

这是我的数据库管理器代码。

public DBManager(Context context) {
    super(context, DB_NAME, null, 1);
    DBManager.myContext = context;
}

我的代码有什么问题?任何快速帮助将不胜感激。

【问题讨论】:

    标签: android sqlite android-fragments


    【解决方案1】:

    它需要一个 Activity 上下文,而不是 Fragment 上下文。

    试试:

    DBManager gDatabase = new DBManager(getActivity()); 
    

    【讨论】:

    • 我建议传递getApplicationContext() 只是为了确保不会发生内存泄漏:)
    【解决方案2】:

    使用新的 DBManager(this.getActivity());但在 OnCreateView 或其他名为 after onAttach' 的函数中,根据 Fragment lifecyle ......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-26
      • 1970-01-01
      • 2020-02-20
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 2015-03-27
      • 2018-04-14
      相关资源
      最近更新 更多