在触发onItemClicked后立即阻止菜单关闭

时间:2014-11-29 18:57:05

标签: android contextmenu

我搜索了一段时间,但无法找到解决方案。我有类似toogle Button作为MenuItem的东西,我想在用户点击菜单项时立即更新它。

关于Android文档:http://developer.android.com/reference/android/view/Menu.html有一个名为FLAG_PERFORM_NO_CLOSE的标志..我用它

menu.performIdentifierAction(R.id.myItem, Menu.FLAG_PERFORM_NO_CLOSE);

但你可以想象,没有任何反应。菜单在没有更新的情况下快速关闭。

感觉Android在关闭之前不会更新菜单视图。这看起来非常难看..如果菜单重新打开之前选择了项目,则用户无法获得反馈..

有人可以帮我解决问题吗?

对我来说最好的解决方案是,如果菜单项正在更新,菜单关闭后,让我们说200毫秒不是立即。

更新

public boolean onMenuItemSelected(int featureId, MenuItem item) {
    // TODO Auto-generated method stub
return super.onMenuItemSelected(featureId, item);

这是选择项目时触发的方法。看起来菜单在场景后面有自己的处理程序。我找不到任何可以延迟关闭菜单甚至更新它的东西..希望现在清楚

1 个答案:

答案 0 :(得分:0)

看看这个:

  new Handler().postDelayed(new Runnable() {
  @Override
  public void run() {
  //write code you want to delay by 200 ms
  }
  }, 200);

有关Handler工作的信息,您可以访问Android Developer网站。