1

openFileOutputActivity クラスではないクラスから使用しようとしています。次のようなものを書いていると、ヌルポインタ例外が発生します-

try {
            Context con = null;
            fosCAM = con.openFileOutput(camFile, Context.MODE_PRIVATE);
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }    

誰でも私を助けてもらえますか?

4

3 に答える 3

4

非アクティビティクラスで使用している場合は、これを試してください:

アクティビティ クラスでコンテキストを作成してから、それをクラス コンストラクターに渡します。

あなたのクラスでクラスコンストラクターでコンテキストを取得し、関数(ファイルを保存する)で Context である追加のパラメーターを取得します。これと同じ yourContext.openFileOutput を使用します。

public void SaveFileIntoStorage(String xml,Context cn) throws IOException

今は大丈夫です:)

于 2012-10-18T06:01:12.590 に答える
3

Context変数conをnullに設定してからcon.openFileOutputで参照しているため、nullポインタ例外が発生しています。

アクティビティのどこでこのコードを使用していますか?

このコードがアクティビティ内にある場合は、Context 変数を削除して openFileOutput を呼び出すだけです。Activity は Context から派生するため、これを行うことができます。コードが別のクラスにある場合は、コンテキストをクラスに渡して使用する必要があります。

于 2011-03-25T03:32:09.890 に答える
0

アクティビティから 2 番目のクラスを開始する場合は、コンテキストを渡すことができます。

new SecondClass(getBaseContext()).start();

getBaseContext()はコンテキストを返しますが、Activity または同等のクラスから呼び出す必要があります。

于 2011-03-25T08:21:57.723 に答える