当我插入代码以显示上下文菜单时,它能正常工作,但是菜单不仅会在静止长按后出现,还会在拖动结束时(不需要)出现。
我已经通过以下方法解决了这个问题:向视图添加一个ScrollInProgress标志,在onCreateContextMenu(...)方法开始时检查该标志,如果该标志被设置,则跳过添加项目到上下文菜单的代码。
但是,我想知道是否有更简单的方法来防止在屏幕拖动时创建上下文菜单。
我已经通过以下方法解决了这个问题:向视图添加一个ScrollInProgress标志,在onCreateContextMenu(...)方法开始时检查该标志,如果该标志被设置,则跳过添加项目到上下文菜单的代码。
但是,我想知道是否有更简单的方法来防止在屏幕拖动时创建上下文菜单。
gestureDetector = new GestureDetector(new MyGestureDetector());
。这就是如何检测滚动(拖动)的开始。长按只需在主Activity的onCreate(...)中插入命令registerForContextMenu(myView);
,然后编写onCreateContextMenu
和onContextItemSelected
的代码即可检测到。 - prepbgg