Android 异步任务不工作

Android 异步任务不工作,android,android-asynctask,Android,Android Asynctask,评论这行: 05-22 23:13:27.379: E/AndroidRuntime(8676): FATAL EXCEPTION: AsyncTask #3 05-22 23:13:27.379: E/AndroidRuntime(8676): java.lang.RuntimeException: An error occured while executing doInBackground() 05-22 23:13:27.379: E/AndroidRuntime(8676):

评论这行:

05-22 23:13:27.379: E/AndroidRuntime(8676): FATAL EXCEPTION: AsyncTask #3
05-22 23:13:27.379: E/AndroidRuntime(8676): java.lang.RuntimeException: An error occured while executing doInBackground()
05-22 23:13:27.379: E/AndroidRuntime(8676):     at android.os.AsyncTask$3.done(AsyncTask.java:278)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.lang.Thread.run(Thread.java:856)
05-22 23:13:27.379: E/AndroidRuntime(8676): Caused by: java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
05-22 23:13:27.379: E/AndroidRuntime(8676):     at com.takebestloan.DataBase.DataBaseHendlerIFSC.getAllContacts(DataBaseHendlerIFSC.java:167)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at com.takebestloan.IFSC.MainActivity$Asynctask_Record_List.doInBackground(MainActivity.java:1317)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at com.takebestloan.IFSC.MainActivity$Asynctask_Record_List.doInBackground(MainActivity.java:1)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at android.os.AsyncTask$2.call(AsyncTask.java:264)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
05-22 23:13:27.379: E/AndroidRuntime(8676):     ... 4 more
05-22 23:13:27.889: E/System(8676): Uncaught exception thrown by finalizer
05-22 23:13:27.889: E/System(8676): java.lang.IllegalStateException: Don't have database lock!
05-22 23:13:27.889: E/System(8676):     at android.database.sqlite.SQLiteDatabase.verifyLockOwner(SQLiteDatabase.java:2223)
05-22 23:13:27.889: E/System(8676):     at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2315)
05-22 23:13:27.889: E/System(8676):     at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2311)
05-22 23:13:27.889: E/System(8676):     at android.util.LruCache.trimToSize(LruCache.java:197)
05-22 23:13:27.889: E/System(8676):     at android.util.LruCache.evictAll(LruCache.java:285)
05-22 23:13:27.889: E/System(8676):     at android.database.sqlite.SQLiteDatabase.deallocCachedSqlStatements(SQLiteDatabase.java:2276)
05-22 23:13:27.889: E/System(8676):     at android.database.sqlite.SQLiteDatabase.closeClosable(SQLiteDatabase.java:1248)
05-22 23:13:27.889: E/System(8676):     at android.database.sqlite.SQLiteDatabase.finalize(SQLiteDatabase.java:2036)
05-22 23:13:27.889: E/System(8676):     at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:185)
05-22 23:13:27.889: E/System(8676):     at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
05-22 23:13:27.889: E/System(8676):     at java.lang.Thread.run(Thread.java:856)
05-22 23:13:37.319: E/WindowManager(8676): Activity com.takebestloan.IFSC.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@417cd8a0 that was originally added here
05-22 23:13:37.319: E/WindowManager(8676): android.view.WindowLeaked: Activity com.takebestloan.IFSC.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@417cd8a0 that was originally added here
05-22 23:13:37.319: E/WindowManager(8676):  at android.view.ViewRootImpl.<init>(ViewRootImpl.java:403)
05-22 23:13:37.319: E/WindowManager(8676):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:267)
05-22 23:13:37.319: E/WindowManager(8676):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
05-22 23:13:37.319: E/WindowManager(8676):  at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
05-22 23:13:37.319: E/WindowManager(8676):  at android.view.Window$LocalWindowManager.addView(Window.java:537)
05-22 23:13:37.319: E/WindowManager(8676):  at android.app.Dialog.show(Dialog.java:278)
05-22 23:13:37.319: E/WindowManager(8676):  at com.takebestloan.IFSC.MainActivity$Asynctask_Record_List.onPreExecute(MainActivity.java:1296)
05-22 23:13:37.319: E/WindowManager(8676):  at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:561)
05-22 23:13:37.319: E/WindowManager(8676):  at com.takebestloan.IFSC.MainActivity$7$1.run(MainActivity.java:428)
05-22 23:13:37.319: E/WindowManager(8676):  at android.os.Handler.handleCallback(Handler.java:605)
05-22 23:13:37.319: E/WindowManager(8676):  at android.os.Handler.dispatchMessage(Handler.java:92)
05-22 23:13:37.319: E/WindowManager(8676):  at android.os.Looper.loop(Looper.java:137)
05-22 23:13:37.319: E/WindowManager(8676):  at android.app.ActivityThread.main(ActivityThread.java:4517)
05-22 23:13:37.319: E/WindowManager(8676):  at java.lang.reflect.Method.invokeNative(Native Method)
05-22 23:13:37.319: E/WindowManager(8676):  at java.lang.reflect.Method.invoke(Method.java:511)
05-22 23:13:37.319: E/WindowManager(8676):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
05-22 23:13:37.319: E/WindowManager(8676):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
05-22 23:13:37.319: E/WindowManager(8676):  at dalvik.system.NativeStart.main(Native Method)
您不能在doInBackground中更新UI-这包括显示祝酒词

如果您想在doInBackground()中检查中间结果,最好使用日志机制,如

评论这行:

05-22 23:13:27.379: E/AndroidRuntime(8676): FATAL EXCEPTION: AsyncTask #3
05-22 23:13:27.379: E/AndroidRuntime(8676): java.lang.RuntimeException: An error occured while executing doInBackground()
05-22 23:13:27.379: E/AndroidRuntime(8676):     at android.os.AsyncTask$3.done(AsyncTask.java:278)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.lang.Thread.run(Thread.java:856)
05-22 23:13:27.379: E/AndroidRuntime(8676): Caused by: java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
05-22 23:13:27.379: E/AndroidRuntime(8676):     at com.takebestloan.DataBase.DataBaseHendlerIFSC.getAllContacts(DataBaseHendlerIFSC.java:167)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at com.takebestloan.IFSC.MainActivity$Asynctask_Record_List.doInBackground(MainActivity.java:1317)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at com.takebestloan.IFSC.MainActivity$Asynctask_Record_List.doInBackground(MainActivity.java:1)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at android.os.AsyncTask$2.call(AsyncTask.java:264)
05-22 23:13:27.379: E/AndroidRuntime(8676):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
05-22 23:13:27.379: E/AndroidRuntime(8676):     ... 4 more
05-22 23:13:27.889: E/System(8676): Uncaught exception thrown by finalizer
05-22 23:13:27.889: E/System(8676): java.lang.IllegalStateException: Don't have database lock!
05-22 23:13:27.889: E/System(8676):     at android.database.sqlite.SQLiteDatabase.verifyLockOwner(SQLiteDatabase.java:2223)
05-22 23:13:27.889: E/System(8676):     at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2315)
05-22 23:13:27.889: E/System(8676):     at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2311)
05-22 23:13:27.889: E/System(8676):     at android.util.LruCache.trimToSize(LruCache.java:197)
05-22 23:13:27.889: E/System(8676):     at android.util.LruCache.evictAll(LruCache.java:285)
05-22 23:13:27.889: E/System(8676):     at android.database.sqlite.SQLiteDatabase.deallocCachedSqlStatements(SQLiteDatabase.java:2276)
05-22 23:13:27.889: E/System(8676):     at android.database.sqlite.SQLiteDatabase.closeClosable(SQLiteDatabase.java:1248)
05-22 23:13:27.889: E/System(8676):     at android.database.sqlite.SQLiteDatabase.finalize(SQLiteDatabase.java:2036)
05-22 23:13:27.889: E/System(8676):     at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:185)
05-22 23:13:27.889: E/System(8676):     at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
05-22 23:13:27.889: E/System(8676):     at java.lang.Thread.run(Thread.java:856)
05-22 23:13:37.319: E/WindowManager(8676): Activity com.takebestloan.IFSC.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@417cd8a0 that was originally added here
05-22 23:13:37.319: E/WindowManager(8676): android.view.WindowLeaked: Activity com.takebestloan.IFSC.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@417cd8a0 that was originally added here
05-22 23:13:37.319: E/WindowManager(8676):  at android.view.ViewRootImpl.<init>(ViewRootImpl.java:403)
05-22 23:13:37.319: E/WindowManager(8676):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:267)
05-22 23:13:37.319: E/WindowManager(8676):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
05-22 23:13:37.319: E/WindowManager(8676):  at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
05-22 23:13:37.319: E/WindowManager(8676):  at android.view.Window$LocalWindowManager.addView(Window.java:537)
05-22 23:13:37.319: E/WindowManager(8676):  at android.app.Dialog.show(Dialog.java:278)
05-22 23:13:37.319: E/WindowManager(8676):  at com.takebestloan.IFSC.MainActivity$Asynctask_Record_List.onPreExecute(MainActivity.java:1296)
05-22 23:13:37.319: E/WindowManager(8676):  at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:561)
05-22 23:13:37.319: E/WindowManager(8676):  at com.takebestloan.IFSC.MainActivity$7$1.run(MainActivity.java:428)
05-22 23:13:37.319: E/WindowManager(8676):  at android.os.Handler.handleCallback(Handler.java:605)
05-22 23:13:37.319: E/WindowManager(8676):  at android.os.Handler.dispatchMessage(Handler.java:92)
05-22 23:13:37.319: E/WindowManager(8676):  at android.os.Looper.loop(Looper.java:137)
05-22 23:13:37.319: E/WindowManager(8676):  at android.app.ActivityThread.main(ActivityThread.java:4517)
05-22 23:13:37.319: E/WindowManager(8676):  at java.lang.reflect.Method.invokeNative(Native Method)
05-22 23:13:37.319: E/WindowManager(8676):  at java.lang.reflect.Method.invoke(Method.java:511)
05-22 23:13:37.319: E/WindowManager(8676):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
05-22 23:13:37.319: E/WindowManager(8676):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
05-22 23:13:37.319: E/WindowManager(8676):  at dalvik.system.NativeStart.main(Native Method)
您不能在doInBackground中更新UI-这包括显示祝酒词

如果您想在doInBackground()中检查中间结果,最好使用日志机制,如


是的,我知道了。删除Toast后,程序进入doInBackground()函数。然后我解决了Logcat中显示的错误是,我得到了它。删除Toast后,程序进入doInBackground()函数。然后我解决了Logcat中显示的错误,代码太多,发布相关部分和堆栈跟踪。请不要寻求帮助,它不会给你任何帮助。只是很烦人。这是一个问答网站。当然,您是来寻求帮助的。代码终止于details=(ArrayList)IFSCdb.getAllContacts(//query);在Asynctask\u Record\u列表中的doInBackground()中,代码太多了,请发布相关部分和堆栈跟踪。请不要寻求帮助,这不会给您带来任何帮助。只是很烦人。这是一个问答网站。当然,您是来寻求帮助的。代码终止于details=(ArrayList)IFSCdb.getAllContacts(//query);在Asynctask\u Record\u ListYa中的doInBackground()中,我找到了它。1。删除Toast将删除运行时错误。2。我们不能使用asynctask在UI中进行更改。请建议我在从数据库获取数据后在UI中进行更改的替代方法。UI中的更改是在onPostExecute()函数中完成的,因此不应显示更改。因此我得不到答案。您可以编辑并更新当前的onPostExecute()方法吗?你有什么错误吗?是的,我有。删除Toast将删除运行时错误。2。我们不能使用asynctask在UI中进行更改。请建议我在从数据库获取数据后在UI中进行更改的替代方法。UI中的更改是在onPostExecute()函数中完成的,因此不应显示更改。因此我得不到答案。您可以编辑并更新当前的onPostExecute()方法吗?你有错误吗?
Toast.makeText(getApplicationContext(),"ListView Post", Toast.LENGTH_LONG).show();