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

Keyboard nach Tabwechsel ausblenden

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Flixius, 18.06.2011.

  1. Flixius, 18.06.2011 #1
    Flixius

    Flixius Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    132
    Erhaltene Danke:
    4
    Registriert seit:
    24.10.2010
    Hallo,

    ich benutze in meiner App ein Tablayout. Tab A hat EditText-Felder, Tab B hat keine. Wenn ich bei Tab A einen text eingebe und auf einen Button klicke, dann blende ich die Tastatur wie folgt aus:

    Code:
    EditText _et1 = (EditText)findViewById(R.id.et_artist);
    InputMethodManager imm = (InputMethodManager)getSystemService(this.INPUT_METHOD_SERVICE); 
            imm.hideSoftInputFromWindow(_et1.getWindowToken(), 0);
    
    Wenn ich aber nur in das EdtiText-Feld reinklicke, nicht den Button betätige und stattdessen einfach das Tab wechsel, dann bleibt das Keyboard sichtbar. Um es auszublenden habe ich die folgenden Zeilen geschrieben, die leider nicht Funktionieren. Das Problem ist, dass _et1 immer NULL ist. Wenn ich nicht auf != null abfrage, dann kriege ich logischerweise eine NullpointerException. Das Event wird aber korrekt geschmissen.

    Code:
    //In der MainApp.java:
            public void onTabChanged(String tabId) {
                    EditText _et1;
                    _et1 = (EditText)findViewById(R.id.et_artist);            
                    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                    if(_et1 != null)
                        imm.hideSoftInputFromWindow(_et1.getWindowToken(), 0);    
            }
        });
    
    Ich hoffe ihr könnt mir helfen. Ich hab schon so einige Stunden mit diesem Problem verbracht.
     

Diese Seite empfehlen