我有一個成員變量:String message = null;
設置一個字符串,登錄串,空指針
這是一個有兩個Log.d()
語句的異步任務。
private class LoadFromWeb extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
Ion.with(MyActivity.this,
"http://example.com/api/?post=1_15_2014&json=1")
.asJsonObject()
.setCallback(new FutureCallback<JsonObject>() {
@Override
public void onCompleted(Exception e, JsonObject result) {
if (result == null) {
return;
}
JsonObject jsonCustomFields = result
.getAsJsonObject("post").getAsJsonObject(
"custom_fields");
String jsonMessage = jsonCustomFields
.getAsJsonArray("message").get(0)
.toString();
message = jsonMessage;
Log.d("me", message); //Output: "Hello World"
}
});
return null;
}
@Override
public void onPostExecute(Void arg0) {
Log.d("me", message); //NULL POINTER EXCEPTION
}
}
我不知道爲什麼它這樣做,我沒有觸及其他地方的成員變量。我沒有想法。
確切的錯誤是:
01-16 00:31:25.360: E/AndroidRuntime(17807): java.lang.NullPointerException: println needs a message
更新:
public class MyActivity extends SherlockListActivity {
SharedPreferences prefs;
private DatabaseHelper db = null;
TextView myView;
String message = null;
聲明'String message'的地方。 messge爲null @'Log.d(「me」,message);' – Raghunandan
更新我的問題以顯示String消息被聲明爲該類的成員變量。 – EGHDK
將'String message = null;'改爲'String message =「」;' –