0

こんにちは私はレイアウトを保持するアクティビティを持っています。レイアウトは2つの線形レイアウトに分割されています。最初のレイアウトには4つのボタンがあります。2つ目はフラグメントがあります。基本的に、ボタンを押すたびに、新しいフラグメントが表示されます。すべてのフラグメントはレイアウトを保持します。このレイアウトには、編集テキストフィールド、ボタン、およびリストビューがあります。これですべてが正常に機能し、今までエラーはありませんでした。しかし、私が抱えている問題は、データベースオブジェクトを作成し、フラグメントクラスのコンテキストをコンストラクターのパラメーターとして渡そうとすると、単にエラーが表示されることです。これがコードです...見て、問題を解決する方法を教えてください。

    String text = null;
    EditText enter_task;
    // enter_task would be provided with its id, not a problem,
    text = enter_task.getText().toString();
    try{
    // this is where te problem is
    // normally I could pass the context of the activity within the constructr of database       class as parameter. But since this class is a fragment, I am simply not able to do so.            


    myDatabase_today = new Database(MyFragment_today.this);
    }

eclispeが問題に提供する解決策は次のとおりです。

1-> contructor Database(Context)をDatabase(MyFragment_today)に変更します。//ここでMyFragment_todayはフラグメントクラスの名前です

2-> contructor Database(MyFragment_today)を作成します。

誰かがこの問題を解決してくれませんか。つまり、アクティビティのコンテキストを渡すことはできますが、フラグメントクラスのコンテキストを渡すことはできません。次に、さらに先に進む方法を説明します。

4

1 に答える 1

0

Fragment クラス名の代わりに getActivity() を使用します

myDatabase_today = new Database(getActivity());
于 2012-12-26T09:34:25.890 に答える