在我的Android应用程序中,我有一个Button,单击时会打开一个上下文菜单。问题是,如果用户快速点击,他们可以打开菜单的多个实例。
b.setOnClickListener( new OnClickListener() {
@Override
public void onClick( View view ) {
// popup options
view.showContextMenu();
}
} );
如何阻止用户打开多个副本?我正在寻找像检查可见状态的“布尔”,但似乎找不到任何东西。我希望有一个函数以某种方式导致代码类似于:
if (context menu is not open)
open context menu
else
don't do anything
答案 0 :(得分:1)
我真的不喜欢这种UI模式。正是这种事情导致iOS开发人员(和用户)认为Android开发人员缺乏纪律。上下文菜单适用于长按,周期。在其他地方使用其他内容,例如AlertDialog
或PopupMenu
。
话虽如此,在显示上下文菜单时设置boolean
标志,首先检查它以防止重复菜单。清除onContextMenuClosed()
中的标记。