Jak zapobiec podwójnemu uruchomieniu kodu, klikając dwa razy szybko na przycisk w Androidzie

Jeśli kliknę szybko przycisk w mojej aplikacji na Androida, wydaje się, że kod za nim działa dwa razy. Jeśli kliknę dwukrotnie przycisk menu, aktywność, która ma zostać uruchomiona, kliknie po prostu dwa razy i muszę z niej dwukrotnie wyjść.

Jest to naprawdę denerwujące, ponieważ jeśli kliknę zbyt szybko dla przycisków menu, mogę załadować całą masę działań w tle i muszę je zamknąć jeden po drugim, więc jest to wyraźnie błędny stan mojej aplikacji, chcę to naprawić.

Co mogę zrobić z tym problemem?

Używam prostych onClickListeners i Buttons

EDYTOWAĆ:

Jeśli chodzi o odpowiedzi i komentarze, moje przyciski menu wyglądają tak:

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();

    }
});

Po tych wszystkich korektach jest to nadal to samo: S Kiedy klikam jak szalona osoba, wiele aktywności jest na stosie historii i muszę wyjść kilka razy.

Jakieś sugestie ? Co robię źle?

questionAnswers(8)

yourAnswerToTheQuestion