Hat jetzt geklappt.
Musste die Variablen num1 und num2 nach dem Prüfen erstellen.
Vielen Dank!
Beiträge von P4inZ
-
-
Hallo,
@Adreoid funktionier leider auch nicht:/
@jogimuc
Hier ist der ErrorLog:D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.test003, PID: 8004
java.lang.NumberFormatException: For input string: ""
at java.lang.Integer.parseInt(Integer.java:627)
at java.lang.Integer.parseInt(Integer.java:650)
at com.example.test003.MainActivity$1.onClick(MainActivity.java:28)
at android.view.View.performClick(View.java:7125)
at android.view.View.performClickInternal(View.java:7102)
at android.view.View.access$3500(View.java:801)
at android.view.View$PerformClick.run(View.java:27336)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
I/Process: Sending signal. PID: 8004 SIG: 9
Process 8004 terminated.Die beiden EditTexte sind mit dem InputType: Number versehen, also können dort nur Zahlen eingegeben werden. Addieren Tue ich doch nur wenn die Abfrage false ergibt. Davor wird überprüft.
Hier der Komplette OnClick Abschnitt:public void onClick(View v) {
EditText firstNumEditText = (EditText) findViewById(R.id.firstNumEditText);
EditText secondNumEditText = (EditText) findViewById(R.id.secondNumEditText);
TextView resultTextView = (TextView) findViewById(R.id.resultTextView);// parse
int num1 = Integer.parseInt(firstNumEditText.getText().toString());
int num2 = Integer.parseInt(secondNumEditText.getText().toString());String s1 = firstNumEditText.getText().toString();
String s2 = secondNumEditText.getText().toString();// funktioniert beides nicht ...
//if(firstNumEditText.getText().toString().isEmpty()||secondNumEditText.getText().toString().isEmpty()){
//if(s1.equals("")||s2.equals("")){
if(0==firstNumEditText.getText().length()){
int ergebnis = 99;
resultTextView.setText(ergebnis + "");}else {
int result = num1 + num2;
resultTextView.setText(result + "");
}
} -
Hallo zusammen,
Bin neu bei dem Programmieren von Android Apps und habe eine kleines Problem . Habe auch schon im Forum gesehen, dass zwei Theards mit dem gleichen Problem gibt, jedoch konnte ich anhand der Informationen dort mein Problem nicht lösen...
Nun zu dem Problem:
Die App soll zwei Zahlen addieren. Erst werden die beiden Zahlen jeweils in ein EditText eingetragen (Input Type: Number). Dann soll durch das Auslösen des "ADD" Buttons unten das Ergebnis in einem TextView ausgegeben werden. Das funktioniert auch gut und habe bisher alles verstanden!
Habe den Code und das Layout aus dem folgenden Video: https://www.youtube.com/watch?v=dFlPARW5IX8 bei Minute 29:06 ist der Code ganz zu sehen.Nun wollte ich den Code soweit ergänzen, dass es bei dem auslassen eines EditText (also wenn ein Feld, oder beide freigelassen werden und man trotzdem ADD drück) in dem TextView die Fehlermeldung "Bitte beide Felder ausfuellen" eintragen. Da ansonsten die App einfach abstürzt.
Der Ergänzte Code sieht wie folgt aus:
String s1 = firstNumEditText.getText().toString();
String s2 = secondNumEditText.getText().toString();// funktioniert beides nicht ...
//if(firstNumEditText.getText().toString().isEmpty()||secondNumEditText.getText().toString().isEmpty()){
if(s1.equals("")||s2.equals("")){
resultTextView.setText("Bitte beide Felder ausfuellen");
}else {
int result = num1 + num2;
resultTextView.setText(result + "");
}Nun stützt die App trotzdem bei dem Drücken des ADD-Buttons ab. Habe schon einiges Probiert.. kann mir jemand bei dem Problem helfen? Habe es mit Equals, isEmpty ... sogar mit length (welches gar nicht ging) ausprobiert. Liegt es daran dass ich bei Input Type Number Eingetragen habe bei EditText? Würde mich über eure Antworten freuen. Liebe GrüßeP4inZ