Je crée une méthode de saisie sur Android, et je veux mettre en œuvre la touche de retour arrière pour supprimer les caractères un par un sans les relâcher (je pense que le comportement par défaut est de supprimer un caractère). Ma solution actuelle est de "remplacer" la fonction "onLongPress" dans ma sous-classe de "KeyboardView", et d'appeler une suppression continue pour envoyer une action de suppression à la vue lorsque le long appui sur le code "KEYCODE_DELETE" a été déclenché . Comme mes codes ci-dessous:Comment fonctionne le backspace du clavier logiciel?
@Override
protected boolean onLongPress(Key key) {
if (key.codes[0] == Keyboard.KEYCODE_DELETE) {
final Handler h = new Handler();
final int delay = 500;
h.postDelayed(new Runnable() {
public void run() {
h.postDelayed(this, delay);
getOnKeyboardActionListener().onKey(Keyboard.KEYCODE_DELETE, null);
}
}, delay);
return true;
} else {
return super.onLongPress(key);
}
}
Alors, ma question est "comment l'arrêter?" comment suivre la libération de la pression longue sur la touche de retour arrière? Ou y a-t-il un moyen de faire disparaître la longue presse?
Vous avez raison, merci! Je n'ai pas pris cette connaissance de base ... – Jason
Après de nombreuses recherches, j'ai trouvé ma solution, merci beaucoup. c'est ce dont j'ai besoin. – Dharmishtha