Brauche Hilfe mit einem If-Statment das nur halb funktioniert

  • Antworten:8
Petra Ritter
  • Forum-Beiträge: 85

05.09.2023, 15:18:04 via Website

Guten Tag,

Ich habe in meiner App ein If-else-if Statement das funktioniert erst wenn man drei Mal auf den entsprechenden Button tippt anstatt schon beim ersten Mal. Ich habe keine Ahnung woran es liegen könnte.

Es geht um die App hier A Demonstaration

Hätte vielleicht jemand Zeit die App auf einem Emulator auszuführen und sich das Problem mit mir anzuschauen?

Falls Jemand mir helfen möchte die App aber aus irgend einem Grund nicht kompilieren kann, kann er sich bei mir melden, dann sende ich ihm eine apk-Datei.

Besten Dank. für Eiure Hilfe im Voraus.

Liebe Grüsse

Petra Ritter

Kommentieren
academyBlue
  • Forum-Beiträge: 21

08.09.2023, 20:09:31 via Website

Hallo Petra,

kannst du den Quellcode posten, bei dem das Problem auftritt?

Hilfreich?
Kommentieren
Michael K.
  • Forum-Beiträge: 1.128

09.09.2023, 03:15:41 via Website

Eventuell kann Dir auch ChatGPT bei dem Problem helfen.

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.547

09.09.2023, 14:09:11 via Website

Hallo
Bevor wir hier alle Buttons Fragmente duchgehen.
Währe es sinnvoll uns zusage um welches Fragment und Buttons es sich handelt.

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.547

09.09.2023, 15:14:10 via Website

Bin jetzt deine Code bei github durch gegangen. In keiner deiner java Dateien ist ein if Statement.

Hast du uns auch das richtige Projekt verlinkt?

So wird dir hier keiner helfen können.
Mit sicherheit auch nicht ChatGPT. ;)

— geändert am 09.09.2023, 15:15:23

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.547

09.09.2023, 15:14:12 via Website

Post war doppelt

— geändert am 09.09.2023, 15:53:01

Hilfreich?
Kommentieren
Petra Ritter
  • Forum-Beiträge: 85

09.09.2023, 19:35:21 via Website

Guten Abend,

Entschuldigung, es ist das richtige Projekt aber ich hätte die Datei verlinken sollen.

Es geht um die Datei hier EditfieldFragment.java und da geht es um den Button "button_full_name" und um den alert Dialog der momentan angezeigt wird sobald der Anwender auf den Button klickt.

Der Dialog sollte aber nur angezeigt werden wenn der Anwender kein Text in das TextEdit "editText_f_name " eingegeben und anschliessend den Button "button_f_name" angeklickt hat und/oder kein Text in das TextEdit "editText_l_name " eingegeben und anschliessend den Button "button_l_name" angeklickt hat.

Wenn der Anwender den Button editText_f_name anklickt wird der Text, der im editText_f_name steht, in die Variable firstName geschrienen resp. wenn der Button button_l_name angekickt wird wird den Inhalt des button_l_name in die Variable lastName geschrieben.

Der Dialog soll nur angezeigt werden, wenn entweder eine der Variable fistName und lastName ober beide den Wert null besitzen sonst soll die Funktion setFullName() ausgeführt werden.

Habe in der Funktion conditionalAlert() probiert die Bedingungen zu definieren unter welchen, der Dialog angezeigt wird. Der Code funktioniert aber nicht auch nicht wenn ich den in den ClickListener des Button button_full_name kopiere.

Habe gleich eine Verständnisfrage:
ist es richtig dass, für String Variable für logisch Gleich nicht == sondern die Funktion .equals() verwendet?

Liebe Grüsse

— geändert am 09.09.2023, 21:21:00 durch Moderator

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.288

09.09.2023, 21:26:24 via Website

Hallo Petra,

schau dir mal genau an was du in der Datei machst.
Du meinst wahrscheinlich dass die Bedingung (IF) in der Methode conditionalAlert nicht asugeführt wird.
Das ist klar, die MEthode wird auch nicht aufgerufen.
Du musst in der onClick vom button_full_name die conditionalAlert Methode aufrufen anstatt direkt einen AlertDialog, dann sollte das auch funktionieren.

Edit: Ansich hast du recht mit dem Equals. Aber i.d.r nutzt man == bzw. != bei Strings nur bei null.
Geht ja nicht anders, da null keine Objekt instanz ist, es könnte eine equals Methode aufgerufen werden.
Daher: https://codegym.cc/groups/posts/java-check-if-string-is-null-empty-or-blank

— geändert am 09.09.2023, 22:21:50

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Petra Ritter
  • Forum-Beiträge: 85

10.09.2023, 12:46:12 via Website

Hallo Pascal,

Das war Absicht, dass ich die conditionalAlert conditionalAlert nicht in der onClick vom button_full_name die conditionalAlert Methode aufruft habe. Denn die Methode conditionalAlert funktionierte nicht korrekt, so dass ich sie nicht aufgerufen habe sondern nur den AlertDialog. Mit der Methode conditionalAlert stutze die App ab.

Inzwischen habe ich ChatGPT bemüht und die hat einen funktionierenden Code ausgespuckt. Mit einem komplexierten If-Statement. Da drauf wäre ich nie gekommen.

Wenn es Euch interessiert wie der Code jetzt aussieht schaut hier EditfieldFragment.java

Danke für Eure Hilfe.

Liebe Grüsse

Petra Ritter

PS; Nächste Woche habe ich geplant die App für den internen Test auf den Play Store hochzuladen. Wenn jemand beim Test mitmachen möchte meldet Euch.

— geändert am 10.09.2023, 12:48:45

Hilfreich?
Kommentieren