Je veux mettre à jour un editext lorsqu'un utilisateur change de mise au point de l'editext sur un autre élément Je souhaite vérifier que le contenu de l'editext par exemple est le nombre supérieur à 10 si cela le modifie à 10. p>
Comment dois-je faire cela? P>
4 Réponses :
EditText ET =(EditText)findViewById(R.id.yourtextField); ET.setOnFocusChangeListener(new OnFocusChangeListener() { public void onFocusChange(View arg0, boolean arg1) { String myText = ET.getText(); //Do whatever }
SET SETONFOCUSCHANGELISTENER CODE> à VOTRE EITITTEXT ...
editText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus){
//this if condition is true when edittext lost focus...
//check here for number is larger than 10 or not
editText.setText("10");
}
}
});
Évidemment en retard à la fête, mais en utilisant SetText Ici, vous émettrez l'avertissement "GetTextbeforecursor sur l'entrée inactive"
Si quelqu'un veut faire cela à Kotlin et avec la banque de données, veuillez vous reporter ci-dessous le code
//first get reference to your edit text var editText:EditText = viewDataBinding.editText // add listner on edit text editText.setOnFocusChangeListener { v, hasFocus -> if(!hasFocus) { if((editText.text.toString().toIntOrNull()>10) {// add any thing in this block editText.text = "10" } } }
Je l'avais expliqué dans ce post si vous êtes intéressé. Vérifiez-le sur https://medium.com/@mdayanc/how-to-use-on-focus-change-a-format-edit-text -on android-studio-bf59edf66161
Voici le code simple pour utiliser Onfocuschangelistener P>
EditText myEditText = findViewById(R.id.myEditText); myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if(hasFocus) { //Do something when EditText has focus } else{ // Do something when Focus is not on the EditText } } });
Peut-être dans ce fil: vous avez ce que vous voulez.