1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. fdsa, 17.05.2012 #1
    fdsa

    fdsa Threadstarter Neuer Benutzer

    Hallo
    Ich hab basierend auf dem Youtube-Tutorial (Android Apps Programmieren #3 Rechner App (German/ Deutsch) (HD) - YouTube) eine Rechner-App erstellt.
    Dabei hab ich u. a. ein Textfeld, das ich auf den Inhalt prüfen möchte. Doch leider funktioniert das nicht wie ich mir das vorstelle. Der entscheidende Code lautet:
    Code:
         EditText Feld1 = (EditText) findViewById(R.id.value1);
         EditText Feld2 = (EditText) findViewById(R.id.value2);
         if( Feld1.getText().toString() == "2" ) {
          Feld2.setText(Feld1.getText());
          return;
         }
    
    Die Bedingung wird jedoch bei Eingabe von 2 ins Textfeld "Feld1" nicht erfüllt.
    Woran liegt das?
    Besten Dank
    Markus
     
    Zuletzt von einem Moderator bearbeitet: 17.06.2015
  2. keinbrain, 17.05.2012 #2
    keinbrain

    keinbrain Fortgeschrittenes Mitglied

    Du kannst einen String nicht mit == auslesen bzw. 'vergleichen' , sondern nur mit equals:

    Code:
    
       if( Feld1.getText().toString().equals( "2" )) {
    
    
    Mfg keinbrain
     
  3. fdsa, 17.05.2012 #3
    fdsa

    fdsa Threadstarter Neuer Benutzer

    Ah, besten Dank, nun funktionierts :)
     
  4. v Ralle v, 18.05.2012 #4
    v Ralle v

    v Ralle v Android-Lexikon

    Das ist glaub ich einer der ersten Fehler, den jeder Anfänger macht ^^ Objektorientierung ist das Schlagwort ;)
     
  5. ChrisMobile, 18.05.2012 #5
    ChrisMobile

    ChrisMobile Android-Experte

    Kurze Erkläung dazu, warum es nicht funktioniert.
    Der "=="-Operator vergleicht nicht den Inhalt der Objekte, sondern die Referenz der Objekte (hier Strings) auf den Platz im Arbeitspeicher.
    Dieser wird nie gleich sein außer man schreibt vorher str2 = str1 und vergleicht dann.

    Z.B. bei Integern klappt das ganze, weil Integer keine Objekte sondern primitive Datentypen sind.
     
    h4kkin gefällt das.
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Uri oder File path als String speichern zum wiederauslesen Android App Entwicklung 26.01.2017
Du betrachtest das Thema "Bedingung mit String nie erfüllt" im Forum "Android App Entwicklung",