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

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

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

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

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

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

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

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 Когда я щелкаю, как сумасшедший, в стеке истории появляется несколько действий, и я должен выйти несколько раз.

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

12
задан Adam Varhegyi 2 July 2012 в 10:15
поделиться