如何暂时阻止单击菜单项的能力

How to temporarily block the ability to click a menu item

当我点击打开 activity 的特定元素时,我有一个菜单,但是用户可以快速点击菜单项 2 次,这将导致打开 activity 2次。如何在第一次按下后阻止按下按钮的功能?

   @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();

        if (id == R.id.create) {
            // start activity 
        }

        return super.onOptionsItemSelected(item);
    }

我知道 setEnabled,但是当我 return 启用 activity 时,它仍然是错误的,而且似乎不方便保存 MenuItem 和 return 它的状态。有人知道如何以最佳方式做到这一点吗?

我找到了解决这个问题的最佳方法。为此,将 FLAG_ACTIVITY_CLEAR_TOP 标志添加到 Intent。因此,将无法创建 2 个活动。

  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);