Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在单击菜单项时在活动之间切换_Android_Android Activity - Fatal编程技术网

Android 在单击菜单项时在活动之间切换

Android 在单击菜单项时在活动之间切换,android,android-activity,Android,Android Activity,我已经在“操作栏”项目上添加了一个侦听器,当我单击它时,我会切换到另一个活动。这是可行的,但当我执行此操作时,我可以注意到我在日志上收到错误,有人能解释一下发生了什么吗 我通过以下方式改变活动: public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 2: // go to activity2 Int

我已经在“操作栏”项目上添加了一个侦听器,当我单击它时,我会切换到另一个活动。这是可行的,但当我执行此操作时,我可以注意到我在日志上收到错误,有人能解释一下发生了什么吗

我通过以下方式改变活动:

public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case 2:
            // go to activity2
            Intent intent = new Intent(this, Activity2.class);
            // dispose the current activity while launching the next intent
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
        default:
            return super.onOptionsItemSelected(item);
        }
    }
我的日志显示:

08-16 11:12:58.523: E/WindowManager(6306): Activity  has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@42bc61e8 that was originally added here
08-16 11:12:58.523: E/WindowManager(6306): android.view.WindowLeaked: Activity com.tweetmeetup.logic.main.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@42bc61e8 that was originally added here
08-16 11:12:58.523: E/WindowManager(6306):  at android.view.ViewRootImpl.<init>(ViewRootImpl.java:397)
08-16 11:12:58.523: E/WindowManager(6306):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:311)
08-16 11:12:58.523: E/WindowManager(6306):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:224)
08-16 11:12:58.523: E/WindowManager(6306):  at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:149)
08-16 11:12:58.523: E/WindowManager(6306):  at android.view.Window$LocalWindowManager.addView(Window.java:556)
08-16 11:12:58.523:E/WindowManager(6306):活动泄漏了window com.android.internal.policy.impl.PhoneWindow$DecorView@42bc61e8原来是加在这里的
08-16 11:12:58.523:E/WindowManager(6306):android.view.WindowLeaked:Activity com.tweetmeetup.logic.main.main活动已泄漏window com.android.internal.policy.impl.PhoneWindow$DecorView@42bc61e8原来是加在这里的
08-16 11:12:58.523:E/WindowManager(6306):在android.view.ViewRootImpl。(ViewRootImpl.java:397)
08-16 11:12:58.523:E/WindowManager(6306):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:311)
08-16 11:12:58.523:E/WindowManager(6306):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:224)
08-16 11:12:58.523:E/WindowManager(6306):在android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:149)
08-16 11:12:58.523:E/WindowManager(6306):在android.view.Window$LocalWindowManager.addView(Window.java:556)
提前谢谢

at android.app.Dialog.show(Dialog.java:277)  
您试图在退出活动后显示一个对话框

解决方案是在退出活动之前,在您创建的对话框上调用dismise(),例如在onPause()中。离开活动前,应关闭所有窗口和对话框

试试这个:(根据你的评论)

您试图在退出活动后显示一个对话框

解决方案是在退出活动之前,在您创建的对话框上调用dismise(),例如在onPause()中。离开活动前,应关闭所有窗口和对话框

试试这个:(根据你的评论)

您试图在退出活动后显示一个对话框

解决方案是在退出活动之前,在您创建的对话框上调用dismise(),例如在onPause()中。离开活动前,应关闭所有窗口和对话框

试试这个:(根据你的评论)

您试图在退出活动后显示一个对话框

解决方案是在退出活动之前,在您创建的对话框上调用dismise(),例如在onPause()中。离开活动前,应关闭所有窗口和对话框

试试这个:(根据你的评论)


不,我不是。我想在单击该项目后关闭该活动。我没有创建任何对话框,我只有一个带有操作栏的活动,其中我添加了一些子菜单项,当其中一个被选中时,我切换活动。不,我没有。我想在单击该项目后关闭该活动。我没有创建任何对话框,我只有一个带有操作栏的活动,其中我添加了一些子菜单项,当其中一个被选中时,我切换活动。不,我没有。我想在单击该项目后关闭该活动。我没有创建任何对话框,我只有一个带有操作栏的活动,其中我添加了一些子菜单项,当其中一个被选中时,我切换活动。不,我没有。我想在单击该项目后关闭活动。我没有创建任何对话框,我只有一个带有操作栏的活动,我在其中添加了一些子菜单项,当选择其中一个时,我将切换活动。
public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case 2:
            // go to activity2
            Intent intent = new Intent(this, Activity2.class);
            // dispose the current activity while launching the next intent
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
            break;
        default:
            return super.onOptionsItemSelected(item);
        }
    }