Partage
  • Partager sur Facebook
  • Partager sur Twitter

le compilateur ne reconnait pas l'EditText

    25 septembre 2019 à 10:47:53

    Bonjour à tous,

    Voici mon extrait de code:

    for(int i = 1; i<tableau.getChildCount(); i++){
    LinearLayout l = (LinearLayout)tableau.getChildAt(i);
    for(int j = 0; j<l.getChildCount(); j++){
    TableRow tr = (TableRow)l.getChildAt(j);
    for(int k = 2; k<tr.getChildCount(); k++){
    EditText edit = (EditText) tr.getChildAt(k);
    if(edit.getText().length()==0){
    edit.setText("0");
    edit.setSelection(edit.length());
    }
    else if(edit.length() == 2){
    String c = edit.getText().toString();
    if(c.startsWith("0")){
    edit.setText(c.substring(1));
    edit.setSelection(edit.length());
    }
    }
    }
    }
    }

    Ce tableau est rempli dynamiquement avec des EditText. Le but est de garder le curseur à la fin de l'EditText, et aussi de supprimer "0" au début du texte quand on écrit une série de chiffres. Mon problème est que lors de la compilation, j'ai l'erreur java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText or ce sont vraiment des EditText (j'ai vérifié avec edit.getClass().getName(); )

    Quelqu'un peut m'expliquer pourquoi? Comment faire pour caster un TextView en EditText? Ou bien comment mettre setSelection dans un TextView?

    Merci d'avance.

    -
    Edité par Gigi23 25 septembre 2019 à 13:17:48

    • Partager sur Facebook
    • Partager sur Twitter
      26 septembre 2019 à 7:29:07

      Bonjour, Pourrais-tu fournir le code Java et le fichier layout. Cela nous aidera à pouvoir te guider
      • Partager sur Facebook
      • Partager sur Twitter

      le compilateur ne reconnait pas l'EditText

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown