Как временно заблокировать возможность щелкнуть пункт меню - PullRequest
1 голос
/ 28 марта 2020

У меня есть меню, когда я нажимаю на конкретный элемент c, для которого открывается действие, но пользователь может быстро щелкнуть меню iten 2 раза, что приведет к открытию действия 2 раза. Как я могу заблокировать возможность нажатия кнопки после первого нажатия?

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

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

        return super.onOptionsItemSelected(item);
    }

Я знаю о setEnabled, но когда я возвращаюсь к активированной активности, она остается ложной, и кажется неудобным сохранять MenuItem и возвращаться его состояние. У кого-нибудь есть идеи, как это сделать оптимально?

1 Ответ

0 голосов
/ 28 марта 2020

Я нашел лучшее решение этой проблемы. Для этого добавьте флаг FLAG_ACTIVITY_CLEAR_TOP в Intent. Благодаря этому будет невозможно создать 2 вида деятельности.

  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
...