Wie zeige ich immer nur einen Dialog an?

8

Meine Android-Anwendung zeigt einen AlertDialog bei einem Klick an. Wenn ich mehr als einmal auf den Knopf klicke, wird ein Dialog erstellt. Wie kann ich das beheben?

Hier ist mein Code:

%Vor%     
Asha Soman 24.09.2012, 07:54
quelle

5 Antworten

4

Sie können ein globales Flag (boolean) erstellen, das auf true gesetzt wird, wenn ein Dialog angezeigt wird? Wenn der Benutzer auf "OK", "Ja", "Nein" oder "Nein" klickt, wird der Dialog geschlossen und das Flag auf "False" gesetzt.

So etwas wie:

%Vor%     
Araw 24.09.2012, 08:07
quelle
17

Sie müssen überprüfen, ob der Dialog angezeigt wird oder nicht

Der Dialog hat eine isShowing () -Methode, die zurückgeben sollte, wenn das Dialogfeld gerade sichtbar ist.

%Vor%     
Ram 01.12.2014 11:30
quelle
0

Für jeden Knopfdruck rufen Sie die Methode auf. Deshalb wird es multipel gezeigt.

Der einfachste Weg ist, nur eine Instanzvariable in Ihrer Code-Klasse zu definieren, zB:

%Vor%

Setzen Sie es dann auf "true", wenn der Alarm so angezeigt wird

%Vor%

und setze die Variable im Code, in dem du die OK-Taste drückst, auf false, damit sie verschwindet.

    
user387184 24.09.2012 08:06
quelle
0

Erstellen Sie eine positive oder negative Schaltfläche dafür und nennen Sie sie einfach OK und verwenden Sie sie zum Schließen. Etwas wie:

%Vor%     
Manoj Kumar 24.09.2012 08:06
quelle
-1

Erstellen Sie den Dialog in einem try-catch-Block wie folgt:

%Vor%

Wenn Sie dies zum ersten Mal ausführen, wird die NullPointerException ausgelöst und das Dialogfeld erstellt. Die folgenden Zeiten werden wirklich nichts passieren.

    
NoJoshua 13.06.2013 09:57
quelle

Tags und Links