694) 04-23 17:45:16.752:E/AndroidRuntime(2425):在android.widget.AdapterView$AdapterDataSetObserver.onChanged(AdapterView.java:789) 04-23 17:45:16.752:E/AndroidRuntime(2425):在android.database.DataSetObservable.notifyChanged(DataSetObservable.java:31) 04-23 17:45:16.752:E/AndroidRuntime(2425):在android.widget.BaseAdapter.notifyDataSetChanged(BaseAdapter.java:50) 04-23 17:45:16.752:E/AndroidRuntime(2425):在android.widget.ArrayAdapter.notifyDataSetChanged(ArrayAdapter.java:247) 04-23 17:45:16.752:E/AndroidRuntime(2425):在com.library_app.disertationactivity$LoginProgressTask.doInBackground(disertationactivity.java:103) 04-23 17:45:16.752:E/AndroidRuntime(2425):在com.library_app.disertationactivity$LoginProgressTask.doInBackground(disertationactivity.java:1) 04-23 17:45:16.752:E/AndroidRuntime(2425):在android.os.AsyncTask$2.call(AsyncTask.java:185) 04-23 17:45:16.752:E/AndroidRuntime(2425):在java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 04-23 17:45:16.752:E/AndroidRuntime(2425):。。。4更多 04-23 17:45:16.902:E/WindowManager(2425):Activity com.library\u app.disertationactivity已泄漏window com.android.internal.policy.impl.PhoneWindow$DecorView@40666e70原来是加在这里的 04-23 17:45:16.902:E/WindowManager(2425):android.view.WindowLeaked:Activity com.library\u app.disertationactivity已泄漏window com.android.internal.policy.impl.PhoneWindow$DecorView@40666e70原来是加在这里的 04-23 17:45:16.902:E/WindowManager(2425):在android.view.ViewRoot。(ViewRoot.java:259) 04-23 17:45:16.902:E/WindowManager(2425):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) 04-23 17:45:16.902:E/WindowManager(2425):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 04-23 17:45:16.902:E/WindowManager(2425):在android.view.Window$LocalWindowManager.addView(Window.java:465) 04-23 17:45:16.902:E/WindowManager(2425):在android.app.Dialog.show(Dialog.java:241) 04-23 17:45:16.902:E/WindowManager(2425):位于com.library_app.dissertactionActivity$LoginProgressTask.onPreExecute(dissertactionActivity.java:59) 04-23 17:45:16.902:E/WindowManager(2425):在android.os.AsyncTask.execute(AsyncTask.java:391) 04-23 17:45:16.902:E/WindowManager(2425):在com.library\u app.DissertationActivity.onCreate(DissertationActivity.java:49) 04-23 17:45:16.902:E/WindowManager(2425):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 04-23 17:45:16.902:E/WindowManager(2425):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722) 04-23 17:45:16.902:E/WindowManager(2425):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784) 04-23 17:45:16.902:E/WindowManager(2425):在android.app.ActivityThread.access$1500(ActivityThread.java:123) 04-23 17:45:16.902:E/WindowManager(2425):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:939) 04-23 17:45:16.902:E/WindowManager(2425):位于android.os.Handler.dispatchMessage(Handler.java:99) 04-23 17:45:16.902:E/WindowManager(2425):在android.os.Looper.loop(Looper.java:130) 04-23 17:45:16.902:E/WindowManager(2425):位于android.app.ActivityThread.main(ActivityThread.java:3835) 04-23 17:45:16.902:E/WindowManager(2425):位于java.lang.reflect.Method.Invokenactive(本机方法) 04-23 17:45:16.902:E/WindowManager(2425):位于java.lang.reflect.Method.invoke(Method.java:507) 04-23 17:45:16.902:E/WindowManager(2425):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) 04-23 17:45:16.902:E/WindowManager(2425):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 04-23 17:45:16.902:E/WindowManager(2425):在dalvik.system.NativeStart.main(本机方法) [抱歉,我不知道如何缩进此]

694) 04-23 17:45:16.752:E/AndroidRuntime(2425):在android.widget.AdapterView$AdapterDataSetObserver.onChanged(AdapterView.java:789) 04-23 17:45:16.752:E/AndroidRuntime(2425):在android.database.DataSetObservable.notifyChanged(DataSetObservable.java:31) 04-23 17:45:16.752:E/AndroidRuntime(2425):在android.widget.BaseAdapter.notifyDataSetChanged(BaseAdapter.java:50) 04-23 17:45:16.752:E/AndroidRuntime(2425):在android.widget.ArrayAdapter.notifyDataSetChanged(ArrayAdapter.java:247) 04-23 17:45:16.752:E/AndroidRuntime(2425):在com.library_app.disertationactivity$LoginProgressTask.doInBackground(disertationactivity.java:103) 04-23 17:45:16.752:E/AndroidRuntime(2425):在com.library_app.disertationactivity$LoginProgressTask.doInBackground(disertationactivity.java:1) 04-23 17:45:16.752:E/AndroidRuntime(2425):在android.os.AsyncTask$2.call(AsyncTask.java:185) 04-23 17:45:16.752:E/AndroidRuntime(2425):在java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 04-23 17:45:16.752:E/AndroidRuntime(2425):。。。4更多 04-23 17:45:16.902:E/WindowManager(2425):Activity com.library\u app.disertationactivity已泄漏window com.android.internal.policy.impl.PhoneWindow$DecorView@40666e70原来是加在这里的 04-23 17:45:16.902:E/WindowManager(2425):android.view.WindowLeaked:Activity com.library\u app.disertationactivity已泄漏window com.android.internal.policy.impl.PhoneWindow$DecorView@40666e70原来是加在这里的 04-23 17:45:16.902:E/WindowManager(2425):在android.view.ViewRoot。(ViewRoot.java:259) 04-23 17:45:16.902:E/WindowManager(2425):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) 04-23 17:45:16.902:E/WindowManager(2425):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 04-23 17:45:16.902:E/WindowManager(2425):在android.view.Window$LocalWindowManager.addView(Window.java:465) 04-23 17:45:16.902:E/WindowManager(2425):在android.app.Dialog.show(Dialog.java:241) 04-23 17:45:16.902:E/WindowManager(2425):位于com.library_app.dissertactionActivity$LoginProgressTask.onPreExecute(dissertactionActivity.java:59) 04-23 17:45:16.902:E/WindowManager(2425):在android.os.AsyncTask.execute(AsyncTask.java:391) 04-23 17:45:16.902:E/WindowManager(2425):在com.library\u app.DissertationActivity.onCreate(DissertationActivity.java:49) 04-23 17:45:16.902:E/WindowManager(2425):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 04-23 17:45:16.902:E/WindowManager(2425):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722) 04-23 17:45:16.902:E/WindowManager(2425):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784) 04-23 17:45:16.902:E/WindowManager(2425):在android.app.ActivityThread.access$1500(ActivityThread.java:123) 04-23 17:45:16.902:E/WindowManager(2425):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:939) 04-23 17:45:16.902:E/WindowManager(2425):位于android.os.Handler.dispatchMessage(Handler.java:99) 04-23 17:45:16.902:E/WindowManager(2425):在android.os.Looper.loop(Looper.java:130) 04-23 17:45:16.902:E/WindowManager(2425):位于android.app.ActivityThread.main(ActivityThread.java:3835) 04-23 17:45:16.902:E/WindowManager(2425):位于java.lang.reflect.Method.Invokenactive(本机方法) 04-23 17:45:16.902:E/WindowManager(2425):位于java.lang.reflect.Method.invoke(Method.java:507) 04-23 17:45:16.902:E/WindowManager(2425):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) 04-23 17:45:16.902:E/WindowManager(2425):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 04-23 17:45:16.902:E/WindowManager(2425):在dalvik.system.NativeStart.main(本机方法) [抱歉,我不知道如何缩进此],android,Android,进度条成功加载,但几秒钟后代码崩溃。意图应该在哪里,在doInBackground中还是在postExecute中?如果意图是在postExecute中,我如何将变量从doInBackground传递到postExecute 代码有什么问题,需要更改哪些内容才能使其不再崩溃?您可以在doInBackGround()中更新UI 看到您记录跟踪,我可以告诉您,您正在尝试更新doInBackGround中的UI,但您不能直接这样做,而是调用runOnUiThread方法,一切都会很好。。。 使用 我的

进度条成功加载,但几秒钟后代码崩溃。意图应该在哪里,在doInBackground中还是在postExecute中?如果意图是在postExecute中,我如何将变量从doInBackground传递到postExecute


代码有什么问题,需要更改哪些内容才能使其不再崩溃?

您可以在
doInBackGround()中更新
UI

看到您记录跟踪,我可以告诉您,您正在尝试更新doInBackGround中的UI,但您不能直接这样做,而是调用runOnUiThread方法,一切都会很好。。。 使用


我的猜测是,你可能会看到这些崩溃,因为线路

adapter.notifyDataSetChanged();
试着去掉那些。还有一个方法叫做

protected void onProgressUpdate(Integer... progress)

您可能希望使用此方法与主UI线程通信,以了解您所取得的任何进展。不确定这是否有帮助。但是,如果您必须在
doInBackground
中进行更新,您可能应该使用
runOnUiThread

请发布错误堆栈跟踪记录LogCat中的错误。我通过注释/删除适配器成功地使其工作。notifyDataSetChanged();然后放入pDialog.discouse();从arraylist中删除元素后。感谢您指出UI错误!
adapter.notifyDataSetChanged();
protected void onProgressUpdate(Integer... progress)