android.view.WindowLeaked - 在使用对话框和放大器;新意图 [英] android.view.WindowLeaked - while using dialog & new intent

查看:105
本文介绍了android.view.WindowLeaked - 在使用对话框和放大器;新意图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我曾尝试在计算器提供的所有可能的解决方案。但我仍然有此错误坐在logcat的:

I have tried all possible solutions provided at stackoverflow. But I am still sitting with this error in logcat:

活动com.xyz.MainActivity渗漏窗口com.android.internal.policy.impl.PhoneWindow $ {DecorView VE 40d687c0 .... - [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", new DialogInterface.OnClickListener() {
                          public void onClick(DialogInterface dialog, int whichButton) {
                    //**************************************  
                    //Do something -- TBD
                    //**************************************  
                            dialog.cancel();

                              }
                            });                         
                    AlertDialog alertDialog = alert.create();
                    alertDialog.show();

                }

下面是我在logcat中得到的错误:

Below is the error that I get in 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,0-772,295} that was originally added here
06-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,0-772,295} that was originally added here
06-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$1.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$1.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中的精细inspite。

Also, how serious is this error? The app seems to work fine inspite of this error in logcat.

TIA

拉​​马纳坦

推荐答案

不要忘记回报运营商第一案?

Don't you forget return operator in first case?

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;
} 

现在您要开始新的活动(并停止当前的)和preparing后ANS连接到第一已经停止活动显示对话框。

Now you are trying to start new activity (and stops current one) and after that preparing ans showing dialog attached to first already stopped activity.

这篇关于android.view.WindowLeaked - 在使用对话框和放大器;新意图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆