Reputation: 18130
I have activity A and B. Both of them have AsyncTasks that connect to the web and fetch some JSON. I get an error that I can't quite replicate always, but I'm not sure what I'm doing wrong. I get the error when I press the back button from activity B to A to Homescreen.
The stacktrace:
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
at java.util.concurrent.FutureTask.run(FutureTask.java:239)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
Caused by: java.lang.NullPointerException
at com.mycompany.myapp.ActivityGD$GetMethod.doInBackground(ActivityGD.java:131)
at com.mycompany.myapp.ActivityGD$GetMethod.doInBackground(ActivityGD.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
... 4 more
I have no idea how I could be getting a null pointer, on what seems like an AsyncTask. Note: ActivityGD = Activity B. So in esence, I don't understand how I'm getting a null pointer on Activity B when I simply pressed back on Activity A.
Lines 130 to 137
protected void onPostExecute(String response) {
String[] myText = final.split(",");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
ActivityGD.this, R.layout.simple_list_item_1,
myText);
setListAdapter(adapter);
}
Upvotes: 0
Views: 2842
Reputation: 204
Your variable, final, in line 131, is returning null and triggering the NPE. Probably because of exiting activity B while the asynctask is still running. Add a null check for it and that should take care of the NPE.
Upvotes: 2