1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

EditText - View auf null checken..!

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von BFK, 08.12.2010.

  1. BFK, 08.12.2010 #1
    BFK

    BFK Threadstarter Erfahrener Benutzer

    Beiträge:
    160
    Erhaltene Danke:
    10
    Registriert seit:
    08.12.2010
    Hallo Forum,
    Habe mich seit ein paar Tagen mit der Android-Programmierung beschäftigt und habe folgendes Problem..:
    Ich will checken, ob in einer Textbox (EditText-View) überhaupt was getippt wurde. Dazu benutze ich folgenden Code..:
    Code:
    private String txtBox_auslesen(){
        EditText txtB = (EditText)findViewById(R.id.AusgabeTextbox);
        String str= "";
        if(!(txtB.getText().toString().equals("")))
        {
        str = txtB.getText().toString();
        }
        return str;
    }
    
    Wobei "AusgabeTextbox" die id des EditText-Views ist.
    Ich bekomme immer den Fehler "The Application so und so has stopped unexpectedly. Please try again" --> Force Close.
    Wieso..?
    Wo ist mein Fehler..?
    Habe bereits gegoogelt und leider nix brauchbares gefunden, obwohl auch andere diesen Fehler hatten.
    Bitte um Hilfe..!
    -BFK-
     
  2. ts-apps, 08.12.2010 #2
    ts-apps

    ts-apps Erfahrener Benutzer

    Beiträge:
    194
    Erhaltene Danke:
    39
    Registriert seit:
    27.03.2010
    Ist dein EditText Element zufällig in einem Popup Dialog?
     
  3. egon232, 09.12.2010 #3
    egon232

    egon232 Android-Hilfe.de Mitglied

    Beiträge:
    91
    Erhaltene Danke:
    1
    Registriert seit:
    05.02.2010
    Hi,

    probiers mal so:
    Code:
        private String txtBox_auslesen() {
            EditText txtB = (EditText) findViewById(R.id.AusgabeTextbox);
            String str = "";
            if (txtB.getText().length > 0) {
                str = txtB.getText();
            }
            return str;
        }
    
    
    Das .toString() nach .getText kannst du dir sparen, da getText bereits einen String zurückgibt.

    Grüße
     
  4. the_alien, 09.12.2010 #4
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Nö, getText() gibt dir ein Editable zurück.

    Wenn der TE den genauen Fehler wissen will, so sollte er im Android Log nachgucken.
     
  5. rushzero, 09.12.2010 #5
    rushzero

    rushzero Erfahrener Benutzer

    Beiträge:
    171
    Erhaltene Danke:
    36
    Registriert seit:
    20.10.2010
    Code:
    EditText txtB = (EditText) findViewById(R.id.AusgabeTextbox);
    String ret_value = "";
     
    if(txtB != null && !txtB.getText().toString().isEmpty())
    {
     ret_value = txtB.getText().toString();
    }else{
       ret_value = "<Keine Eingabe gemacht>";
    }
     
    return ret_value;
    
    Wahrscheinlich liefert bei dir eh (EditText) findViewById(R.id.AusgabeTextbox) NULL zurück.
    Also ne simple NullPointerException, wie gesagt nur Wahrscheinlich.
    Aber wie schon mein Vorposter geschrieben hat guck halt im log da stehts und sogar mit Zeilenangabe.

    mfg =)
     
    Zuletzt bearbeitet: 09.12.2010
  6. egon232, 09.12.2010 #6
    egon232

    egon232 Android-Hilfe.de Mitglied

    Beiträge:
    91
    Erhaltene Danke:
    1
    Registriert seit:
    05.02.2010
    Stimmt. War noch zu JAVA fixiert :)
    Kommando zurück. Man braucht es doch
     
  7. BFK, 10.12.2010 #7
    BFK

    BFK Threadstarter Erfahrener Benutzer

    Beiträge:
    160
    Erhaltene Danke:
    10
    Registriert seit:
    08.12.2010
    Danke erstmal für eure Antworten..!

    Wie es aussieht habe ich den dummsten Fehler überhaupt gemacht und rushzero hatte recht. EditText liefert null zurück, weil es keine EditText-View mit dem Namen "AusgabeTextbox" gibt. Meine EditText-View heisst nämlich Textbox.

    Ansosnten funktioniert der Code ohne Probleme, natürlich geht der Vorschlag von egon232 (also auf die Läge zu überprüfen) auch.

    Hätte nur noch ne kleine Frage was mit der Log zu tun hat.
    Und zwar, weil ich eclipse generell nicht benutz hab und mich da nicht so gut auskenne, frage ich mich welche Log meintet ihr..?
    Die normale Error-Log..? ..Weil da kein Fehler angezeigt wurde..!
     
  8. rushzero, 10.12.2010 #8
    rushzero

    rushzero Erfahrener Benutzer

    Beiträge:
    171
    Erhaltene Danke:
    36
    Registriert seit:
    20.10.2010
    1# Android Debug Bridge | Android Developers
    2# Using the Dalvik Debug Monitor | Android Developers

    Link Nummer 1 wird der mehr helfen schau einfach mal unter Enabling logcat Logging.

    Also mit ein bisschen Einarbeitung find ich Eclipse mit ADT-plugin echt geil ;)
    Developing In Eclipse, with ADT | Android Developers
    Hast halt alles Zental und kannst besser Debuggen aber halt nur meine Meinung :p

    mfg
     
    BFK bedankt sich.

Diese Seite empfehlen