Lorsque vous appuyez sur le bouton, vous souhaitez afficher le mot de passe, sinon il doit être masqué ou indiqué en pointillé. J'ai appliqué le code suivant mais cela ne fonctionne pas. Toute aide serait appréciée.
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if(button.isPressed()) {
upass.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
return true;
}
return true;
}
});
Vous avez utilisé OnTouchListener
ce qui vous donne MotionEvent
. Utilise les! Pas besoin de vérifier que le bouton est à nouveau enfoncé tant que vous appuyez dessus MotionEvent
.
Pour afficher un champ de mot de passe avec le mot de passe:inputType = TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
Lorsque le bouton est enfoncé MotionEvent.ACTION_UP
, vous pouvez donc voir le texte. Quand MotionEvent.ACTION_DOWN
gardez-le tel qu'il était au début.
button.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch ( event.getAction() ) {
case MotionEvent.ACTION_UP:
editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
break;
case MotionEvent.ACTION_DOWN:
editText.setInputType(InputType.TYPE_CLASS_TEXT);
break;
}
return true;
}
});
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots