Wie wiederhole ich etwas, während eine Taste gedrückt wird?

8

Ich entwickle eine TV-Remote-Simulator-App in Android mit einer speziellen Middleware (nicht wichtig).

Im Falle der Lautstärketasten (Volume + und Volume-) versuche ich, das "Volume Up" -Signal wiederholt zu senden, während die Taste gedrückt wird.

Das habe ich zuletzt versucht (Code für einen der Buttons, der andere muss bis auf die Namen identisch sein):

  1. Deklarierte eine boolesche Variable

    %Vor%
  2. Deklarierte eine innere Klasse mit der folgenden AsyncTask:

    %Vor%

    }

  3. Fügen Sie den Listener zur Schaltfläche hinzu:

    %Vor%

Ich habe es auch mit einfachen Threads versucht, wie in Increment-Decrement counter while Taste gedrückt wurde , aber keine funktionierte. Die Anwendung funktioniert gut für den Rest der Tasten (Kanäle usw.), aber die Lautstärke wird komplett ignoriert.

    
Truncarlos 27.11.2012, 11:56
quelle

2 Antworten

3

Sie haben vergessen, eine Pause hinzuzufügen; am Ende des MotionEvent.ACTION_DOWN: Falls. Das bedeutet die Zeile pressedUp = false; wird selbst bei dieser Aktion ausgeführt. Das Richtige wäre:

%Vor%     
Tas Morf 27.11.2012, 12:36
quelle
2

Haben Sie schon darüber nachgedacht

?
  • Starten Sie Ihre repititive Aufgabe auf dem onKeyDown Ereignis
  • Stoppen Sie die Aufgabe auf dem onKeyUp Ereignis?
Vinay Wadhwa 27.11.2012 12:02
quelle