活动娱乐上的Android弹出菜单行为

活动娱乐上的Android弹出菜单行为,android,view,Android,View,我使用条件弹出菜单 if (smth) { PopupMenu popup = new PopupMenu(context, v); popup.getMenu().add("Do it").setOnMenuItemClickListener(<work with views>); popup.show(); } if(smth){ PopupMenu popup=新的PopupMenu(上下文,v); popup.getMenu().add(“Do it

我使用条件弹出菜单

if (smth) {
    PopupMenu popup = new PopupMenu(context, v);
    popup.getMenu().add("Do it").setOnMenuItemClickListener(<work with views>);
    popup.show();
}
if(smth){
PopupMenu popup=新的PopupMenu(上下文,v);
popup.getMenu().add(“Do it”).setOnMenuItemClickListener();
popup.show();
}
在“活动”上,弹出菜单仍然可见,但“单击侦听器”中对视图的所有引用都引用了旧视图,因此有时会导致崩溃和意外行为。 你知道使用弹出菜单的最佳方法吗?或者,我可以禁用弹出菜单吗

UPD 似乎只有在进入多屏幕(奇怪的行为)时才会出现弹出式娱乐。
当然,我可以忽略onDestroy中的弹出窗口,但将每个弹出窗口引用都保留在活动或片段中并不是很酷。希望您知道更好的方法。

您应该关闭
onStop()
onDestroy()
中的弹出菜单。如果您这样做,那么您可以根据需要在重新创建活动时重新创建活动,也可以不重新创建活动。

谢谢您的回答,但这确实非常不方便。希望更简单的方法存在。