J'essaie d'appeler la méthode Mais chaque fois que j'essaye cela, l'activité n'est pas fermée et que le programme passe aux lignes suivantes (et finalement fini par une exception). P> Je sais que je peux Manipulez cette exception différemment (et gérez également l'exception en cochant d'abord la chaîne vide, puis utilisez le J'ai lu un problème similaire, mais Ce n'a pas répondu à ma question. J'ai également confirmé que le programme passe aux lignes suivantes en ajoutant des grumes verbales. J'ai également essayé avec Terminer () Code> pour fermer l'activité lorsque l'utilisateur n'entraîne rien dans le champ
eittext code> et clique sur l'élément de menu avec ID
item_1 code>.
integer.parseint code> pour l'éviter) mais je veux savoir pourquoi le
finition () code > La méthode ne fonctionne pas et le programme passe aux lignes suivantes. Et je veux arrêter le code d'ici pour fermer l'activité. P>
ActivityClassname.Chis.Finish () Code> Mais ça ne fonctionne toujours pas. Code: p>
3 Réponses :
private void insertWeight() { String weightString = edt1.getText().toString().trim(); if (weightString.isEmpty()) { Log.v("MainActivity", "Test: Weight is EMPTY!!!"); finish(); } if (weightString != null && !weightString.trim().isEmpty()) { int i = Integer.parseInt(weightString); Log.v("MainActivity", "Test: Weight is- " + i); } } Here you need to check if string is not empty and not null then you will print Weight else NumberFormatException occurs.
Merci mais je suis au courant de gérer l'exception, je voulais juste savoir pourquoi la méthode finition () ne fonctionnait pas. Le commentaire de Mike répond probablement
J'espère que cela fonctionnera pour vous
écrire en dessous de la méthode p> appeler cette méthode donnée ci-dessous p>
Merci mais je suis au courant de gérer l'exception, je voulais juste savoir pourquoi la méthode finition () ne fonctionnait pas. Le commentaire de Mike répond probablement
Les commentaires combinés de Mikem. et Joachim Haglund répond à ma question- p>
"Terminer () n'arrête pas immédiatement l'exécution du code dans l'activité. Cela se produira de manière asynchrone." - Mikem. P>
"Ajouter" retour; "Après la fin de la fin (), l'application frappe peut-être l'exception avant que l'appel de finition puisse être rempli, alors en appelant le retour; le linge de colère continue à aller." - Joachim Haglund P>
(NB: Je ne sais pas le moyen de marquer des commentaires combinés comme la réponse à Stackoverflow, donc je le fais manuellement) p>
Quelle est l'exception?
Terminer () CODE> N'arrête pas immédiatement l'exécution de code dans l'activité
code>. Cela se produira asynchrone. Mettez le code problématique dans un
else code> bloc là-bas.
@Speed java.lang.numberformatException: Int invalide: "" - Pour appeler l'integer.parseint sur une chaîne vide
@Mikem. Merci, il est plus clair maintenant, mais comment puis-je arrêter le code d'ici pour fermer l'activité?
ajouter "retour;" Après la fin de la finale (), peut-être que l'application frappe l'exception avant que l'appel de finition puisse être rempli, donc en appelant retour; Le linge de Conde continue.
Tu ne le fais pas.
finition () code> finira par fermer l'activité
code>; Cela arrive juste de manière asynchrone. Structure de votre code pour que vous n'appeliez rien après la touche
() code> appel.
En plus de ce que les autres affiches ont dit, l'application s'écrase car votre
Weightfield code> est vide. Vérifiez une chaîne vide avant d'appeler
parseint () code>
@ Jochimhaglund Merci, ajoutant le "retour"; géré cela. Peut-être que cela frappe l'exception avant que la méthode d'arrivée soit complètement exécutée.
@Mikem. Merci, je vais restructurer le code.
@Mikem. Je serais très reconnaissant si quelqu'un me permet de savoir pourquoi il y a un vote de descente dans la question, cela m'aidera à l'avenir. J'ai suivi les normes Stackoverflow en faisant une question directe via une situation et un code clairs et en ajoutant ma recherche de la référence de ce que j'avais trouvé à cet égard. Merci.
Les lignes directrices pour la descente sont dans une info-bulle sur ce bouton: "Cette question ne montre aucun effort de recherche; il n'est pas clair ou pas utile". Il est assez clair que vous demandez, alors peut-être pas utile, ni manque de recherche? C'est un problème assez courant.
@Mikem. Merci d'avoir souligné, j'ai eu un peu déçu de voir le vote au bas