2010-11-19 6 views
1

Ich habe ein AutoCompleteTextView-Steuerelement von einem 'OnClick' Listener bedient. Es extrahiert eine Liste von Elementen aus einer Datenbank und füllt den Arrayadapter, der an das Steuerelement angeschlossen ist. Wenn ich genügend Text eingeben, um einen Eintrag in der Adapterliste zu isolieren (normalerweise etwa 2 Zeichen) und ich das identifizierte Element auswähle, wird der "OnItemClick" Listener der Adapteransicht aufgerufen und ich kann das ausgewählte Element identifizieren, den Text in der AutoCompleteTextView festlegen , und führen Sie die Methode performCompletion() aus. Wenn diese Routine abgeschlossen ist, bleibt die virtuelle Tastatur an ihrem Platz. Wenn ich von der Kontrolle weg "Tab", bekomme ich eine NullPointerException!AutocompleteTextView - es funktioniert fast, bis ich davon wegsteige?

Alle geschätzt Vorschläge ...

PS: diese Anzeige programmatisch erzeugt wird.

Antwort

2

Sie können das folgende Snippet verwenden, um die Tastatur auszublenden.

private static void hideSoftKeyboard (View view) { 
     InputMethodManager imm = (InputMethodManager)mContext.getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(view.getApplicationWindowToken(), 0); 
    }