I recently started using AsyncTask, and I found some problems using it.
I have this ListActivity (CatalogActivity), and I used AsyncTask to reload it, as it is a kind of tree logic. Every time I select an item in my list, I do some calculations and show the execution dialog in the doInBackground method, and in onPostExecute I reload the list and reject the move. Everything is working fine.
After I did (I reached the last level), I start another action (LoginActivity). In this new action, there is a back button that launches my previously specified list activity. It fires the action, and when I click on the download part in the doInBackground method, I get this funky exception. The real interesting part is that if I set a breakpoint on my loading method and stepping over everything, then everything is fine!
What am I missing?
Here is the doInBackground method of my cataloging (where the error occurs):
protected String doInBackground(String... params) { catalogAdapter.mappingServicesCatalog.loadFromRml(new RIoConnectionManagerImpl(currentActivity.getApplicationContext()), params[0], null, 120000, 500000); if (catalogAdapter.urlMapping.size() == 0) { catalogAdapter.urlMapping.add(params[0]); } else { if (catalogAdapter.urlMapping.get(catalogAdapter.urlMapping.size() - 1) != params[0]) { catalogAdapter.urlMapping.add(params[0]); } } return ""; }
Here are the logcat entries:
06-20 11:38:21.109: ERROR/AndroidRuntime(22789): FATAL EXCEPTION: AsyncTask #4 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): java.lang.RuntimeException: An error occured while executing doInBackground() 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): at android.os.AsyncTask$3.done(AsyncTask.java:200) 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): at java.lang.Thread.run(Thread.java:1096) 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): Caused by: java.lang.NullPointerException 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): at si.realis.rmap.android.CatalogActivity$CatalogAdapter.access$1(CatalogActivity.java:35) 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): at si.realis.rmap.android.CatalogActivity$LoadRMLCatalog.doInBackground(CatalogActivity.java:197) 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): at si.realis.rmap.android.CatalogActivity$LoadRMLCatalog.doInBackground(CatalogActivity.java:1) 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): at android.os.AsyncTask$2.call(AsyncTask.java:185) 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 06-20 11:38:21.109: ERROR/AndroidRuntime(22789): ... 4 more 06-20 11:38:44.086: ERROR/WindowManager(22789): Activity si.realis.rmap.android.CatalogActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@47f532a0 that was originally added here 06-20 11:38:44.086: ERROR/WindowManager(22789): android.view.WindowLeaked: Activity si.realis.rmap.android.CatalogActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@47f532a0 that was originally added here 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.view.ViewRoot.<init>(ViewRoot.java:247) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.view.Window$LocalWindowManager.addView(Window.java:424) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.app.Dialog.show(Dialog.java:241) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.app.ProgressDialog.show(ProgressDialog.java:107) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.app.ProgressDialog.show(ProgressDialog.java:90) 06-20 11:38:44.086: ERROR/WindowManager(22789): at si.realis.rmap.android.CatalogActivity.loadRMLCatalog(CatalogActivity.java:135) 06-20 11:38:44.086: ERROR/WindowManager(22789): at si.realis.rmap.android.CatalogActivity$CatalogAdapter.Initialize(CatalogActivity.java:60) 06-20 11:38:44.086: ERROR/WindowManager(22789): at si.realis.rmap.android.CatalogActivity$CatalogAdapter.<init>(CatalogActivity.java:45) 06-20 11:38:44.086: ERROR/WindowManager(22789): at si.realis.rmap.android.CatalogActivity.onCreate(CatalogActivity.java:119) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.os.Handler.dispatchMessage(Handler.java:99) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.os.Looper.loop(Looper.java:123) 06-20 11:38:44.086: ERROR/WindowManager(22789): at android.app.ActivityThread.main(ActivityThread.java:4627) 06-20 11:38:44.086: ERROR/WindowManager(22789): at java.lang.reflect.Method.invokeNative(Native Method) 06-20 11:38:44.086: ERROR/WindowManager(22789): at java.lang.reflect.Method.invoke(Method.java:521) 06-20 11:38:44.086: ERROR/WindowManager(22789): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871) 06-20 11:38:44.086: ERROR/WindowManager(22789): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629) 06-20 11:38:44.086: ERROR/WindowManager(22789): at dalvik.system.NativeStart.main(Native Method) 06-20 11:49:00.402: ERROR/WifiManager(22835): showApDialog 06-20 11:49:04.699: ERROR/HierarchicalStateMachine(2475): TetherMaster - unhandledMessage: msg.what=3 06-20 11:49:07.511: ERROR/WifiManager(22835): showApDialog 06-20 11:49:14.648: ERROR/WifiManager(22835): showApDialog 06-20 11:49:23.109: ERROR/libnetutils(2475): dhcp start cmd 11 : [dhcpcd:-ABK] 06-20 11:49:23.597: ERROR/HierarchicalStateMachine(2475): TetherMaster - unhandledMessage: msg.what=3 06-20 11:49:23.965: ERROR/gps_BRCM(2475): BrcmLbs_sync() return error.
source share