Wie löst man doppelt auf Button Problem in Android?

8

Mock-up meiner Anwendung:

Problem:

Wenn Sie auf button1 klicken, rufen Sie einfach Intent von ActivitySecond

auf %Vor%

Beim Doppelklicken tippen Sie zweimal zweimal ActivitySecond.

an

WIE MAN IHN LÖSEN.

BITTE WENN IRGENDEINE LÖSUNG DANN TEILEN.

Danke.

    
Darshak 21.05.2013, 05:31
quelle

6 Antworten

3

Sie können launchMode von ActivitySecond auf singleTop

setzen %Vor%     
Geros 21.05.2013, 05:35
quelle
8

Als Gabe Sechan traurig:

  

Dies kann über einen Timer erfolgen (erhalte die Zeit, in der er darauf klickt, speichere ihn und wenn er innerhalb von etwa 100 ms erneut klickt, ignoriere den zweiten Klick)

Hier ist eine Implementierung, die ich in meinem Projekt verwendet habe:

%Vor%

Verwenden Sie einfach OnOneClickListener anstelle von OnClickListener und führen Sie Ihren Code in onOneClick() method aus.

Die Lösung mit deaktivierender Schaltfläche in onClick() funktioniert nicht. Zwei Klicks auf eine Schaltfläche können für die Ausführung eingeplant werden, noch bevor das erste onClick() ausgeführt wird, und die Schaltfläche deaktivieren.

    
Psimage 26.12.2013 15:03
quelle
7

Dies wird als Entprellen bezeichnet - es ist ein klassisches Problem in Hardware und Software. Es gibt ein paar Tricks, die Sie tun können, aber alle reduzieren sich darauf, die Schaltfläche vorübergehend zu deaktivieren und später wieder zu aktivieren. Dies kann über einen Zeitgeber erfolgen (erhalte die Zeit, in der er darauf klickt, speichere ihn und wenn er innerhalb von beispielsweise 100 ms erneut klickt, ignoriere den zweiten Klick). Eine andere Möglichkeit wäre, die Schaltfläche nach onClick zu deaktivieren und sie wieder zu aktivieren, wenn die neue Aktivität mit onActivityResult beendet wird. Oder es gibt ein Dutzend andere Möglichkeiten, wählen Sie das Einfachste für Sie.

    
Gabe Sechan 21.05.2013 05:38
quelle
2
%Vor%

Sie müssen das setEnabled (false) im onlclick-Ereignis machen.

    
Google 21.05.2013 05:41
quelle
0

Wenn ich Selektor ziehbar in Buttons verwende und stelle

ein %Vor%

es führt das Ereignis onClick () bei Doppelklick aus. Ich fand es zufällig, an Android Emulator API Level 10, Android 2.3.3 zu arbeiten Wurde nicht auf einem echten Gerät getestet. Hier ist der vollständige Code.

%Vor%

und Java-Code

%Vor%     
Ali Azhar 24.10.2014 18:53
quelle
0

Ich werde nur eine dritte Lösung dafür einreichen. Ich löste es, indem ich einen booleschen Wert hinzufügte, mit dem überprüft wurde, ob die Aktivität (welche die Schaltfläche startet) gestartet wurde oder nicht.

    
Sulby 20.05.2015 10:50
quelle