Wie kann ich die Taste drücken, wenn ich den Knopf gedrückt halte?

7

Ich habe einen Knopf, ich drücke ihn und halte ihn weiter, wenn die Haltezeit ein bestimmtes Zeitintervall überschreitet, feuert er eine Art von Absicht ab, wie kann ich das tun. Danke

    
RealDream 24.03.2014, 10:39
quelle

6 Antworten

11

probiere das

aus

Sie können dazu Touch Listener verwenden.

Versuchen Sie:

%Vor%

Wo b ist die view (in Ihrem Fall sollte es Schaltfläche), auf die Sie lange klicken möchten.

Und Runnable run ist wie folgt

%Vor%

Ich hoffe, es hilft ...:)

    
Hardik 24.03.2014 10:43
quelle
6

Erkenne [ACTION_DOWN][1] und [ACTION_UP][2] Ereignisse.

Wenn die Taste gedrückt wird ( [ACTION_DOWN][1] ), starten Sie den Timer, messen Sie die Zeit ... Wenn der Timer überschritten wird, rufen Sie Intent auf. Wenn die Taste losgelassen wird ( [ACTION_UP][2] ), stoppen Sie den Timer.

%Vor%

Wenn die Taste gedrückt wird, wird der Timer gestartet. Wenn die Taste vor Ablauf von 5 Sekunden freigegeben wird, passiert nichts. Andernfalls wird die gewünschte Aktion ausgeführt.

    
Dario 24.03.2014 10:47
quelle
3
%Vor%     
Kanaiya Katarmal 24.03.2014 10:44
quelle
0

Sie können onTouchEvent überschreiben und den Versatz zwischen ACTION_DOWN und ACTION_UP ;

berechnen

Der folgende Code wird nach x Zeit ausgeführt und auch entfernt, wenn ACTION_UP vor x Zeit aufgerufen wird. Außerdem enthalten, wie Sie einen genauen Zeitwert erhalten können ...

%Vor%     
Lunar 24.03.2014 10:45
quelle
0

Ich habe eine Ausnahme bekommen, als ich einen Timer benutzt habe! Sie können auch einen Handler wie unten verwenden -

%Vor%     
DarShan 26.02.2018 08:32
quelle
-2

Bearbeiten.

Offenbar habe ich die Frage falsch verstanden. Bitte lesen Sie die obigen @Hardik und @Lunar Lösungen.

Sie könnten damit durchkommen:

%Vor%     
curtisLoew 24.03.2014 10:49
quelle

Tags und Links