‘活动com.xyz.MainActivity泄露了最初添加的窗口com.android.internal.policy.impl.PhoneWindow $DecorVIEw {40d687c0 V.E ….. R ….. ID 0,0-772,268}
if (Var_place_holder.level == "one") { Var_place_holder.Title=obj_itemDetails.getTitle(); Var_place_holder.level="two"; Intent intent = getIntent(); dialog.dismiss(); finish(); startActivity(intent);} if (Var_place_holder.level == "two") { AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this); String category = Var_place_holder.Title; //String imgurL = obj_itemDetails.getIcon(); String Desc = obj_itemDetails.getTitle(); alert.setTitle("Detail:"); String Msg1 = "category: " + category; String Msg2 = "Desc: " + Desc; alert.setMessage(Msg1+"\n"+Msg2+"\n"); //alert.setMessage("Price: Rs." + Price); alert.setPositivebutton("Add",new DialogInterface.OnClickListener() { public voID onClick(DialogInterface dialog,int whichbutton) { //************************************** //Do something -- TBD //************************************** dialog.cancel(); } }); alert.setNegativebutton("Cancel",int whichbutton) { //************************************** //Do something -- TBD //************************************** dialog.cancel(); } }); AlertDialog alertDialog = alert.create(); alertDialog.show(); }
下面是我在logcat中得到的错误:
06-25 05:36:50.080: E/WindowManager(2937): Activity com.xyz.MainActivity has leaked window com.androID.internal.policy.impl.PhoneWindow$DecorVIEw{40d68560 V.E..... R.....ID 0,295} that was originally added here06-25 05:36:50.080: E/WindowManager(2937): androID.vIEw.WindowLeaked: Activity com.xyz.MainActivity has leaked window com.androID.internal.policy.impl.PhoneWindow$DecorVIEw{40d68560 V.E..... R.....ID 0,295} that was originally added here06-25 05:36:50.080: E/WindowManager(2937): at androID.vIEw.VIEwRootImpl.<init>(VIEwRootImpl.java:354)06-25 05:36:50.080: E/WindowManager(2937): at androID.vIEw.WindowManagerGlobal.addVIEw(WindowManagerGlobal.java:216)06-25 05:36:50.080: E/WindowManager(2937): at androID.vIEw.WindowManagerImpl.addVIEw(WindowManagerImpl.java:69)06-25 05:36:50.080: E/WindowManager(2937): at androID.app.Dialog.show(Dialog.java:281)06-25 05:36:50.080: E/WindowManager(2937): at com.xyz.MainActivity.onItemClick(MainActivity.java:106)06-25 05:36:50.080: E/WindowManager(2937): at androID.Widget.AdapterVIEw.performItemClick(AdapterVIEw.java:298)06-25 05:36:50.080: E/WindowManager(2937): at androID.Widget.AbsListVIEw.performItemClick(AbsListVIEw.java:1100)06-25 05:36:50.080: E/WindowManager(2937): at androID.Widget.AbsListVIEw$PerformClick.run(AbsListVIEw.java:2749)06-25 05:36:50.080: E/WindowManager(2937): at androID.Widget.AbsListVIEw.run(AbsListVIEw.java:3423)06-25 05:36:50.080: E/WindowManager(2937): at androID.os.Handler.handleCallback(Handler.java:725)06-25 05:36:50.080: E/WindowManager(2937): at androID.os.Handler.dispatchMessage(Handler.java:92)06-25 05:36:50.080: E/WindowManager(2937): at androID.os.Looper.loop(Looper.java:137)06-25 05:36:50.080: E/WindowManager(2937): at androID.app.ActivityThread.main(ActivityThread.java:5041)06-25 05:36:50.080: E/WindowManager(2937): at java.lang.reflect.Method.invokeNative(Native Method)06-25 05:36:50.080: E/WindowManager(2937): at java.lang.reflect.Method.invoke(Method.java:511)06-25 05:36:50.080: E/WindowManager(2937): at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)06-25 05:36:50.080: E/WindowManager(2937): at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:560)06-25 05:36:50.080: E/WindowManager(2937): at dalvik.system.NativeStart.main(Native Method)
此外,这个错误有多严重?尽管在logcat中出现这个错误,该应用程序似乎工作正常.
TIA
拉马纳坦
解决方法 在第一种情况下,你不忘记返回运算符吗?if (Var_place_holder.level.equals("one")) { Var_place_holder.Title=obj_itemDetails.getTitle(); Var_place_holder.level="two"; Intent intent = getIntent(); dialog.dismiss(); finish(); startActivity(intent); return;}
现在,您正尝试启动新活动(并停止当前活动),然后准备ans显示对话框附加到第一个已停止的活动.
总结以上是内存溢出为你收集整理的android.view.WindowLeaked – 同时使用对话框和新意图全部内容,希望文章能够帮你解决android.view.WindowLeaked – 同时使用对话框和新意图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)