La meilleure façon est de créer votre propre édition basé sur un widget EditText:
public class CustomEditText extends EditText {
public CustomEditText(Context context) {
super(context);
}
public CustomEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
}
Ensuite, remplacer la méthode OnKeyPreIme
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_DEL) {
// Do something
}
return super.onKeyPreIme(keyCode, event);
}
Bien sûr, au-dessus méthode fonctionne si vous avez un EditText pour lequel clavier à l'écran est ouvert (mais vous pouvez en créer un avec la taille de 0 dip, de toute façon)
Je n'utilise pas EditText. Je montre juste une vue de base étendue. et, j'essaye d'implémenter votre code à mon avis, mais cela ne marche pas. En fait, la touche DEL fonctionne d'autres appareils Android, mais seulement xperia. xperia a 12 pavés numériques, pas tout le clavier qwerty. problème peut être lié à ce – Adem
Et comment recevez-vous la touche enfoncée? avec onKeyDown? –
oui, onkeydown et onkeyup fonctionne bien pour les autres caractères. mais seulement la touche DEL. De plus, la touche DEL fonctionne bien avec d'autres appareils. c'est étrange. en fait, il peut s'agir d'un système de pavé numérique. – Adem