- Forum-Beiträge: 16
22.12.2014, 21:19:19 via Website
22.12.2014 21:19:19 via Website
Hallo, ich habe heute meine erste richtige App programmiert.
Es soll eine Taschenrechner App sein, die die Grundrechenarten beherrscht.
Diese stürzt Allerdings immer ab mit folgender Fehlermeldung:
java.lang.RuntimeException: Unable to start activity ComponentInfo{de.mr_ac_dev.simplecalc/de.mr_ac_dev.simplecalc.CalcActivity}: java.lang.NumberFormatException: Invalid double: "
Caused by: java.lang.NumberFormatException: Invalid double: "" at de.mr_ac_dev.simplecalc.CalcActivity.onCreate(CalcActivity.java:41)
Daraus schließe ich dass ich irgendwas beim casten des Inhalts des TextEdits zu einer Double variable etwas falsch mache.
Hier mein Java-Quelltext: (Habe den Fehler im Quelltext markiert) Bitte helft mir!
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calc);
Toast.makeText(this, "Herzlich Willkommen in meiner App!", Toast.LENGTH_SHORT)
.show();
ergebnis = 0;
plus = (Button) findViewById(R.id.bplus);
minus = (Button) findViewById(R.id.bminus);
anzeige = (TextView) findViewById(R.id.tvanzeige);
zahleins = (EditText) findViewById(R.id.editZ1);
zahlzwei = (EditText) findViewById(R.id.editZ2);
mal = (Button) findViewById(R.id.bmal);
geteilt = (Button) findViewById(R.id.bgeteilt);
n1 = Double.valueOf(zahleins.getText().toString()); <<<<<<<<<<Hier vermute ich den Fehler
n2 = Double.valueOf(zahlzwei.getText().toString());
plus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ergebnis = n1 + n2;
String erg = String.valueOf(ergebnis);
anzeige.setText(erg);
}
});
minus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ergebnis = n1 - n2;
String erg = String.valueOf(ergebnis);
anzeige.setText(erg);
}
});
mal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ergebnis = n1 * n2;
String erg = String.valueOf(ergebnis);
anzeige.setText(erg);
}
});
geteilt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ergebnis = n1 / n2;
String erg = String.valueOf(ergebnis);
anzeige.setText(erg);
}
});
}
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.