2

onPostExecute で以下のコードを実行すると、例外が発生します。java.lang.NullPointerException

getApplicationContext().getResources().getString(R.string.lbl_sth);
getBaseContext().getResources().getString(R.string.lbl_sth);

R.string.lbl_sth間違いなく正しいです。で 2 行以上を実行するとonCreate、両方の行が期待どおりに機能します。

4

3 に答える 3

3

あなたの中で使用しないgetBaseContext()でくださいAsyncTask...代わりにActivityコンテキストとしてあなたを渡しますAsyncTaskgetResources().getString(...)その後、Activity直接お電話ください。

于 2012-08-05T05:01:00.113 に答える
0

AsyncTask のコンストラクターで、リソースから文字列を渡す必要があります。

public MyAsyncTask(String lblString) {
    this.lblString = lblString; 
}

アクティビティ/フラグメントから次のようにタスクを構築して実行します。

new MyAsyncTask(getString(R.string.lbl_sth)).execute();
于 2015-07-21T17:28:51.543 に答える
-2

getActivity().getResources().getString(R.string.lbl_sth); を使用してみてください。

于 2014-06-02T20:28:22.047 に答える