Lukáš Anda
Lukáš Anda

Reputation: 590

Why my app forcecloses when opening AlertDialog

I am having errors with my app. I am trying to use AlertDialog to display "Credits" in app but when I click on the word "credits" the app just forcecloses, why ? Here is my code :

 else if (mMergeAdapter.getAdapter(position).equals(
                    mMenuAdapter)) {
                // handle menu items
                switch ((int) mMergeAdapter.getItemId(position)) {
                    case 0:
                        Intent intent2 = new Intent(Browser.this,
                                SettingsActivity.class);
                        startActivity(intent2);
                        break;
                    case 1:
                        AlertDialog alertDialog = new AlertDialog.Builder(Browser.this).create();
                        alertDialog.setTitle("Credits");
                        alertDialog.setMessage("Coding -> Traabefi ");
                        alertDialog.setIcon(R.drawable.ic_launcher);
                        alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
                                 public void onClick(DialogInterface dialog, int a) { alertDialog.this.cancel();
                        }});
                        alertDialog.show();
                    case 2:
                        finish();

Logcat

09-23 18:48:02.606 30963 30963 D dalvikvm com.tproductions.Openit Late-enabling CheckJNI 09-23 18:48:02.806 30963 30963 W ResourceType com.tproductions.Openit CREATING STRING CACHE OF 80 bytes 09-23 18:48:02.936 30963 30963 I Adreno-EGL com.tproductions.Openit : EGL 1.4 QUALCOMM build: () 09-23 18:48:02.936 30963 30963 I Adreno-EGL com.tproductions.Openit OpenGL ES Shader Compiler Version: E031.24.00.07 09-23 18:48:02.936 30963 30963 I Adreno-EGL com.tproductions.Openit Build Date: 04/07/14 Mon 09-23 18:48:02.936 30963 30963 I Adreno-EGL com.tproductions.Openit Local Branch: au011 09-23 18:48:02.936 30963 30963 I Adreno-EGL com.tproductions.Openit Remote Branch: 09-23 18:48:02.936 30963 30963 I Adreno-EGL com.tproductions.Openit Local Patches: 09-23 18:48:02.936 30963 30963 I Adreno-EGL com.tproductions.Openit Reconstruct Branch: 09-23 18:48:02.966 30963 30963 D OpenGLRenderer com.tproductions.Openit Enabling debug mode 0 09-23 18:48:03.356 30963 30963 I ActivityManager com.tproductions.Openit Timeline: Activity_idle id: android.os.BinderProxy@42dd99e8 time:88828979 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit
09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit android.view.WindowLeaked: Activity com.tproductions.Openit.Browser has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{4300d1a8 V.E..... R.....ID 0,0-684,662} that was originally added here 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at android.view.ViewRootImpl.(ViewRootImpl.java:350) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at android.app.Dialog.show(Dialog.java:294) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at com.tproductions.Openit.Browser$100000003.onItemClick(Browser.java:340) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at android.widget.AdapterView.performItemClick(AdapterView.java:299) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at android.widget.AbsListView.performItemClick(AbsListView.java:1113) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at android.widget.AbsListView$PerformClick.run(AbsListView.java:2911) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at android.widget.AbsListView$3.run(AbsListView.java:3645) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at android.os.Handler.handleCallback(Handler.java:733) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at android.os.Handler.dispatchMessage(Handler.java:95) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at android.os.Looper.loop(Looper.java:212) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at android.app.ActivityThread.main(ActivityThread.java:5135) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at java.lang.reflect.Method.invokeNative(Native Method) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at java.lang.reflect.Method.invoke(Method.java:515) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693) 09-23 18:48:09.346 30963 30963 E WindowManager com.tproductions.Openit at dalvik.system.NativeStart.main(Native Method)

Upvotes: 0

Views: 58

Answers (2)

Michael Krause
Michael Krause

Reputation: 4849

Make sure to put a break; after your call to alertDialog.show();

This will prevent you from falling through to case 2 and finishing your Activity which I don't think you intended to do.

Upvotes: 1

brwngrldev
brwngrldev

Reputation: 3704

Put a break; after the alertDialog.show(); The error is happening because the activity is being destroyed but the memory for the dialog is still being occupied.

Upvotes: 2

Related Questions