Je fais une simple calculatrice. Tout fonctionne bien. Mais le problème est que lorsque je clique sur Ajouter / Soustraire / Diviser / Diviser / Multiplication Button, l'application se bloque.
J'ai trouvé le problème de logcat qui est 'java.lang.stringtoreal.parsedouble (stringtoreal.java:248)' P>
J'ai ajouté le logcat mais ne pas résoudre. P>
My Code: P>
02-11 05:11:54.958 2274-2274/com.example.android.calculator E/OpenGLRenderer: Getting MAX_TEXTURE_SIZE from GradienCache MAX_TEXTURE_SIZE: 16384 02-11 05:15:27.626 2274-2274/com.example.android.calculator E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.android.calculator, PID: 2274 java.lang.NumberFormatException: Invalid double: "" at java.lang.StringToReal.invalidReal(StringToReal.java:63) at java.lang.StringToReal.parseDouble(StringToReal.java:248) at java.lang.Double.parseDouble(Double.java:295) at com.example.android.calculator.MainActivity$10.onClick(MainActivity.java:102)
3 Réponses :
textview1.settext (textview1.getText () + "1"); Cette ligne peut être écrite comme p>
textview1.setText (textviever1.getext (). Tostring () + "1"); P>
Pour analyser votre valeur au format de chaîne, essayez ceci! p>
Votre texte TextView se réglage sur "" Après chaque fois que vous cliquez sur Ajouter / Soustraire / Diviser / Diviser / Diviser et vous ne pouvez pas convertir "" en double, vous devez vérifier la valeur d'abord avant de la convertir en double > Xxx pré>
} p> p>
Oui, il génère l'erreur du Essayez comme ça et fonctionnera bien p> NumberFormatException code> car lorsque vous obtenez le texte de la TextView comme ce
numone = double.Parsedouble (TextView1.getText () + ""); / code> La valeur de TextView ne se convertit pas en double en raison de ""
if(!TextUtils.isEmpty(textView1.getText())){
numOne=Double.parseDouble(textView1.getText());
}
Vous définissez un texte sur NULL après une opération.
TextView1.SetText (null) code>. Lorsque vous essayez de cliquer à nouveau, il vous donne une chaîne vide car vous obtenez du texte comme celui-ci
textview1.getText () + "" code>.