Как предотвратить двойной запуск кода, дважды быстро нажав на кнопку в Android

Если я быстро нажимаю на кнопку в моем приложении для Android, кажется, что код позади него выполняется дважды. Если я дважды щелкаю по кнопке меню, действие, которое должно быть запущено, просто запускается дважды, и мне приходится дважды выходить из него.

Это действительно раздражает, потому что, если я нажимаю слишком быстро для кнопок меню, я могу загрузить целую кучу действий в фоновом режиме, и я должен завершить их одно за другим, так что это явно ошибочное состояние моего приложения, я хочу это исправить.

Что я могу сделать с этим вопросом?

Я использую простые onClickListeners и кнопки

РЕДАКТИРОВАТЬ:

Что касается ответов и комментариев, то кнопки моего меню выглядят так:

top20Button.setOnClickListener(new OnClickListener()
{
    public void onClick(View v)
    {
        favButton.setClickable(false);
        nearButton.setClickable(false);
        highlightedButton.setClickable(false);
        top20Button.setClickable(false);

        Intent i = new Intent();
        i.putExtra("showDialog", false);
        i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
        i.setClass(Search.this, Top20.class);
        startActivity(i);
        finish();

    }
});

После всего этого исправления все то же самое: S Когда я щелкаю как сумасшедший, в стеке истории появляется несколько активностей, и я должен выйти несколько раз.

Какие-либо предложения ? Что я делаю не так?

Ответы на вопрос(8)

Ваш ответ на вопрос