onPostExecute getResources()。getString NullPointerException

时间:2012-08-05 04:51:45

标签: android nullpointerexception getstring

当我在onPostExecute中的代码下面运行时,它给了我一个例外:java.lang.NullPointerException

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

R.string.lbl_sth绝对是正确的。如果我在onCreate中运行两行以上,则两行都按预期工作。

3 个答案:

答案 0 :(得分:2)

请勿在{{1​​}}中使用getBaseContext() ...将AsyncTask作为上下文传递给Activity。然后直接在AsyncTask上致电getResources().getString(...)

答案 1 :(得分:0)

您应该从AsyncTask的构造函数中的Resources传递Strings:

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

你可以从Activity / Fragment中构建和执行你的任务:

new MyAsyncTask(getString(R.string.lbl_sth)).execute();

答案 2 :(得分:-2)

尝试使用getActivity()。getResources()。getString(R.string.lbl_sth);

相关问题