EGHDK
EGHDK

Reputation: 18130

Getting an error in my app during an asyncTask while leaving my app

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

Answers (1)

donkey
donkey

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

Related Questions