2017-02-20 2 views
1

Ich baue Android-Anwendung, in die ich eine Suchansicht unterhalb der Symbolleiste eingebettet haben. Siehe Screenshot. Aber wenn ich auf das Suchsymbol klicke, erscheint meine Tastatur, aber wenn ich auf das Schließen-Symbol von Suchansicht klicke, verschwindet die Tastatur nicht. Geschlossener Listener funktioniert nicht und Aktionserweiterung oder Listener kann nicht verwendet werden, da es sich nicht um einen Menüeintrag handelt. Also wie soll ich die Tastatur verschwinden lassen? Bitte führen.Schließen Listener von Searchview im Layout funktioniert nicht Android

enter image description here

simpleSearchView.setOnCloseListener(new SearchView.OnCloseListener() { 
     @Override 
     public boolean onClose() { 
      hideKeyboard(getActivity()); 
      return false; 
     } 
    }); 
+0

Ich bitte –

Antwort

2

Sie können dies tun, indem Sie einen Verweis auf die [x] -Taste bekommen, dann auf sie ein onClick Hörer einstellen. Im onClickListener können Sie Logik hinzufügen, um die Tastatur auszublenden.

The code below was obtained from this answer

// Catch event on [x] button inside search view 
int searchCloseButtonId = searchView.getContext().getResources() 
       .getIdentifier("android:id/search_close_btn", null, null); 
ImageView closeButton = (ImageView) this.searchView.findViewById(searchCloseButtonId); 
// Set on click listener 
closeButton.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     // Manage this event. 
    } 
}); 

Innen onClick(View v) Sie eine Methode aufrufen können die Tastatur wie diese

private void hideKeyboard(){ 
    View view = this.getCurrentFocus(); 
    if (view != null) { 
     InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 
} 
+1

überprüfen geschrieben haben zu verstecken Wenn Sie die compat Suchansicht verwenden zu können, kann direkt findViewById (R.id.search_close_btn) verwenden –

Verwandte Themen