2

Fragment クラスの下に新しいデータベース マネージャーを作成しようとしています。しかし、残念なことに、私はこれまでに直面したことのないいくつかのストレージエラーの途中で立ち往生しました. 以下のコードをご覧ください。

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

エラー コードは、コンストラクター DBManage(About) が未定義です。2 つのクイック フィックスが利用可能です。

コンストラクター「DBManager(Context)」を「DBManager(About)」に変更します コンストラクター「DBManager(About)」を作成します

そして、これが私のデータベースマネージャーコードです。

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

コードの何が問題になっていますか? 迅速なヘルプをいただければ幸いです。

4

2 に答える 2

3

Fragment コンテキストではなく、Activity コンテキストが必要です。

試す:

DBManager gDatabase = new DBManager(getActivity()); 
于 2012-06-24T11:06:18.330 に答える
1

新しい DBManager( this.getActivity()) を使用します。しかし、フラグメントのライフサイクルに従って onCreateView またはonAttach' の後に呼び出されるその他の関数では ......

于 2012-06-24T11:05:28.400 に答える