Je suis en train de faire une validation, où j'ai un edittext avec numéro de type d'entrée, utilisé pour montrer la quantité d'articles achetés dans le panier de l'utilisateur. Je veux m'assurer que quand la valeur d'edittext est éditée, si la valeur est "", "0", ou "00", etc., tant que c'est < 1, alors la valeur sera mise dans "1".Android EditText avec numéro de type d'entrée valeur sur changement de texte toujours> 0
J'ai fatigué le code ci-dessous de:
txtJumlah.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
int jumlah = Integer.parseInt(txtJumlah.getText().toString());
if(txtJumlah.getText().toString().equals("") || jumlah <= 1) {
txtJumlah.setText("1");
}
calculate();
}
});
Mais il retourne un java.lang.StackOverflowError: taille de la pile 8MB
Quelqu'un peut-il me aider? merci
txtJumlah.getText() ne reviendra nulle. Il retournera toujours une chaîne vide. La seule chose qui pourrait provoquer une exception NullPointerException est si le TextView était nul. Même si vous essayez setText (null), il le convertira en String vide. – Lunkie
est d'accord, a mis à jour sa réponse –