当我在onPostExecute中的代码下面运行时,它给了我一个例外:java.lang.NullPointerException
getApplicationContext().getResources().getString(R.string.lbl_sth);
getBaseContext().getResources().getString(R.string.lbl_sth);
R.string.lbl_sth
绝对是正确的。如果我在onCreate
中运行两行以上,则两行都按预期工作。
答案 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);