Eingabe-Abfrage Problem

  • 3 Antworten
  • Letztes Antwortdatum
F

Ford

Fortgeschrittenes Mitglied
4
Hey,


ich möchte eine App programieren die eine eingegebene Zahl verarbeiten kann.

Ich habe 2 Gleichungen, die immer mithilfe eines Spinners ausgewählt werden.

Wenn ich jedoch erst die Zahl ins Textfeld eingebe und dann die Gleichung auswähle und auf berechne klicke dann wird nicht die eingegebene Zahl verwendet.

Wenn ich dann nochmal auf berechne drücke wird dann aber diese Zahl verwendet.


Kann bitte jemand über meinen Code drüber schauen und erklären wie man es richtig macht? :)


MainActivity.java


Vielen Dank im Voraus
Grüße Ford :)
 
ich tippe mal, das dein Boolean "ausgabe" noch nicht / oder mit false initialisiert ist beim ersten klick ?
Hast du mal debuggt ? in AndroidStudio einfach in der Zeile auf den grauen Bereich am linken Rand klicken, so das die rot unterlegt wird. Das Programm hält dann bei dem punkt an und man kann z.b. die werte der variablen überprüfen

Was mir noch so am rande auffällt:
warum
* extends Activity implements OnInitListener ? das implements OnInitListener nutzt du ja gar nicht ;)
* alles in die oncreate-Methode finde ich etwas unübersichtlich,
du könntest doch das "switch" im onItemSelected auslagern in eine eigene Methode (z.b. setzeWerte(int typ) {}
und ebenso im setOnClickListener / onClick die berechnungsmethode aufrufen, in die ich das berechnen auslagern würde

wenn du dir sowas gleich angewöhnst, machst du dir das programmieren auf dauer deutlich einfacher ;)
 
  • Danke
Reaktionen: Ford
Hallo Ford

Dein Denkfehler liegt darin das du eingabeDouble im
onClickListener des Button setzt aber bei der Spinner
Auswahl schon darauf zugreifst.

Du solltest das DRY-Prinzip (Don’t repeat yourself) anwenden ;)

Ich war so frei und habe deinen code mal kurz überarbeitet.

Schau ihn dir mal an und versuche zu verstehen was wann und wie
passiert.

Mach dich mit der Debug Funktion vertraut. Da kannst du
deinen Fehler genau nachvollziehen.

Hier der link zum Code ;) auf pastebin.com

Viel Spaß damit :biggrin:

Gruß
derjens
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Ford
Danke euch beiden. :)

Das hat mir sehr geholfen, jetzt verstehe ich meinen Fehler. :)


Gruß Ford :)
 
Zurück
Oben Unten