Reputation: 590
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
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
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