So verhindern Sie, dass doppelter Code ausgeführt wird, indem Sie in Android zweimal schnell auf eine Schaltfläche klicken

Wenn ich in meiner Android-App schnell auf meine Schaltfläche klicke, wird der dahinter stehende Code anscheinend zweimal ausgeführt. Wenn ich zweimal auf die Menüschaltfläche klicke, startet die Aktivität, die bei Klick gestartet werden muss, nur zweimal und ich muss sie zweimal beenden.

Das ist sehr ärgerlich, denn wenn ich zu schnell auf Menüschaltflächen klicke, kann ich eine ganze Reihe von Aktivitäten im Hintergrund laden und muss sie einzeln beenden. Dies ist also eindeutig ein fehlerhafter Zustand meiner App, den ich beheben möchte.

Was kann ich mit diesem Problem tun?

Ich benutze einfache onClickListener und Buttons

BEARBEITEN:

In Bezug auf Antworten und Kommentare sehen meine Menüschaltflächen folgendermaßen aus:

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

    }
});

Nach all dieser Korrektur ist es immer noch dasselbe: S Wenn ich wie ein Verrückter klicke, befinden sich mehrere Aktivitäten auf dem Verlaufsstapel und ich muss mehrmals beenden.

Irgendwelche Vorschläge ? Was mache ich falsch?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage