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