6 votes

Obtenir programmatiquement la valeur du texte d'indice dans un Edittext Android

Je dois changer la Police de caractères de EditText dynamiquement et également traiter le texte d'indice si la police de caractères a changé. Je fais simplement ce qui suit :

Et mon extrait de code est le suivant :

EditText textBox = (EditText) findViewById(R.id.textBox);
Typeface tf = Typeface.createFromAsset(this, "myfont.ttf");
textBox.setTypeface(tf);
String hintText = textBox.getHint().toString(); // NullPointerException ici....
String newText = processText(hintText); // Cela traitera le texte d'indice ;
textBox.setHint(newText);

Lorsque je lance le programme, j'obtiens l'exception suivante :

java.lang.NullPointerException: Tentative d'appel de la méthode 'java.lang.String java.lang.CharSequence.toString()' sur un objet de référence nulle

Veuillez m'aider à résoudre ce problème.

2voto

Anix PasBesoin Points 2335

Nous devons d'abord examiner your_layout.xml pour le déterminer, mais vous utilisez probablement la bibliothèque d'assistance à la conception.

Si c'est le cas, vous pouvez obtenir vos indications comme suit :

((TextInputLayout)textBox.getParent()).getHint();

Remarque

Cela a déjà été répondu ici. (Bien que nous devions nous assurer que vous utilisiez la bibliothèque d'assistance à la conception pour marquer votre question en tant que duplicata)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X