Hi,

     I have an app which produces more than one alert dialog in
different situations. Let us say we have more than one alert dialog on
the screen - dialog1, dialog2.

When dialog1 ok is pressed as per the code below, the screen finishes:

AlertDialog.Builder alert_box=new
AlertDialog.Builder(AsyncRecordTrial.this);
                                alert_box.setIcon(R.drawable.icon);
                                alert_box.setMessage(dialogmessage);
                                alert_box.setPositiveButton("Ok",new
DialogInterface.OnClickListener() {
                                        @Override
                                        public void onClick(DialogInterface 
dialog, int which) {
                                                // TODO Auto-generated method 
stub
                                                dialog.cancel();
                                        }
                                });

                                alert_box.setOnCancelListener(new 
OnCancelListener(){

                                        @Override
                                        public void onCancel(DialogInterface 
dialog) {
                                                // TODO Auto-generated method 
stub

                                                        finish();
                                        }
                                });
                                alert_box.show();

However, dialog2 doesn't cancel and it leads to a memory leak in the
logcat with crash.

 E/WindowManager(27573): Activity
com.example.OnVRViewer.AsyncRecordTrial has leaked window
com.android.internal.policy.impl.PhoneWindow$DecorView@407b9748 that
was originally added here
E/WindowManager(27573): android.view.WindowLeaked: Activity
com.example.OnVRViewer.AsyncRecordTrial has leaked window
com.android.internal.policy.impl.PhoneWindow$DecorView@407b9748 that
was originally added here
E/WindowManager(27573):         at android.view.ViewRoot.<init>(ViewRoot.java:
266)
E/WindowManager(27573):         at
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:174)
E/WindowManager(27573):         at
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:117)
E/WindowManager(27573):         at android.view.Window
$LocalWindowManager.addView(Window.java:424)
E/WindowManager(27573):         at android.app.Dialog.show(Dialog.java:241)
E/WindowManager(27573):         at android.app.AlertDialog
$Builder.show(AlertDialog.java:823)
E/WindowManager(27573):         at com.example.OnVRViewer.AsyncRecordTrial
$5.handleMessage(AsyncRecordTrial.java:1461)
E/WindowManager(27573):         at
android.os.Handler.dispatchMessage(Handler.java:99)
E/WindowManager(27573):         at android.os.Looper.loop(Looper.java:130)
E/WindowManager(27573):         at
android.app.ActivityThread.main(ActivityThread.java:3691)
E/WindowManager(27573):         at
java.lang.reflect.Method.invokeNative(Native Method)
E/WindowManager(27573):         at
java.lang.reflect.Method.invoke(Method.java:507)
E/WindowManager(27573):         at com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:907)
E/WindowManager(27573):         at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)

Now how do I cancel also dialog2?

Thank you,
B.Arunkumar

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to