Keyboard nach Tabwechsel ausblenden

F

Flixius

Fortgeschrittenes Mitglied
4
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.
 

Ähnliche Themen

5
Antworten
22
Aufrufe
1.369
590239
5
G
Antworten
5
Aufrufe
858
jogimuc
J
G
Antworten
0
Aufrufe
383
gnome2012
G
Zurück
Oben Unten