0

私は問題なくメイン アクティビティで db4oHelper を使用していますが、コンテキストのないクラスで de db を使用したい場合、問題があります..このクラスはアクティビティを拡張しません..

public void actualizatrat(Context context){
    dbHelper();
    db4oHelper.deleteAll();
    //...
}

private Db4oHelper dbHelper() {
if (db4oHelper == null) {
        db4oHelper = new Db4oHelper(this);
        db4oHelper.db();
    }
    return db4oHelper;
}

コンストラクターdb4oHelper:

    public Db4oHelper(Context ctx)
    {
          context = ctx;
    }

Eclipse に次のエラーが表示される: The constructor Db4oHelper(Actualiza) is undefined

誰かが私を助けてくれますか?

4

2 に答える 2

0

代わりに Application コンテキストを取得することをお勧めします。ここを見てください:

Androidで「コンテキスト」を取得する静的な方法は?

于 2013-06-02T15:30:29.010 に答える
0

ヘルパーにアクセスしたいクラスはContextそれ自体ではないかもしれませんが、上記のコンポーネントのいずれかから作成した可能性が高いので、Context持っている をそのまま渡します。

public void actualizatrat(Context context){
    dbHelper(context);
    db4oHelper.deleteAll();
    (...)
}

private Db4oHelper dbHelper(Context context) {
    if (db4oHelper == null) {
        db4oHelper = new Db4oHelper(context);
        db4oHelper.db();
    }
    return db4oHelper;
}
于 2012-08-23T04:21:27.883 に答える