8
votes

java.lang.numberformatException: Int invalide: "" dans Android

Je sais déjà ce qui cause cette erreur, je ne sais tout simplement pas comment gérer le cas lorsqu'un utilisateur n'entre rien dans la boîte de dialogue, puis appuyez sur le bouton qui analyse la chaîne dans un int. Il ne peut pas analyser une chaîne vide dans un int, il jette une erreur. J'ai fait des recherches sur la façon de faire cela, mais j'ai trouvé un résultat satisfaisant qui fonctionne.

Problème: Comment vérifiez-vous si la boîte de dialogue contient du texte, avant qu'il ne tente d'exécuter le reste du code.


0 commentaires

4 Réponses :


1
votes

Problème: Comment vérifiez-vous si la boîte de dialogue contient du texte avant qu'il essaie d'exécuter le reste du code.

solution: un si instruction. xxx

Si vous pouvez épargner la dépendance supplémentaire, je tire dans la langue commune Lang Stringutils, à utiliser Stringutils.isblank au lieu de couper / isempty, car cela gère également Unicode.


0 commentaires

12
votes

Certains code aideraient la syntaxe mais fondamentalement xxx

aussi, vous pouvez survenir à un essayer / attraper et attraper une formatxception puis imprimer un message approprié < / p>


0 commentaires

1
votes
   String text = editText.getText().toString(); 
   if(!text.equals("") && text.matches("^\\d+$")){
       cast to int
    }

0 commentaires

0
votes

La même erreur causait ma demande de crash. ans strong> est simple- Mettez le code dans le

essayer { } p> blockQuote>

et p>

attrape () p> blockQuote>

bloc qui provoque une exception, comme ce code Snip.Ce fonctionne pour moi. P>

public void setAge(String age) {

    final Calendar c = Calendar.getInstance();
    int yearCurrent = c.get(Calendar.YEAR);
    try {
        int yearPrev = (int) Integer.parseInt(age.substring(0, 4));//this line was causing the error
        int ageYear=yearCurrent-yearPrev;
        ageUser="Age : "+Integer.toString(ageYear);
    }
    catch(NumberFormatException numberEx) {
        System.out.print(numberEx);
    }


}


0 commentaires