2014-02-25 143 views
0

我有一個MenuItem searchItem。在SherlockActivity中按下搜索按鈕時關閉軟鍵盤

它按預期過濾列表視圖結果。

但是,當我按軟鍵盤鍵盤上的搜索按鈕(放大鏡)不會隱藏自己。

我應該怎麼做隱藏鍵盤上的搜索按鈕的點擊鍵盤

MenuInflater inflater = getSupportMenuInflater(); 
     inflater.inflate(R.menu.menu_search, menu); 
     MenuItem searchItem = menu.findItem(R.id.menu_search); 

     SearchView searchView = (SearchView) searchItem.getActionView(); 

     searchView.setSubmitButtonEnabled(true); 
     searchView.setIconified(true); 

    SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() 
     { 
      @Override 
      public boolean onQueryTextChange(String newText) 
      { 
       // this is adapter that will be filtered 
       if(companyListAdapter != null) 
       { 
        companyListAdapter.getFilter().filter(newText); 
       } 

       return true; 
      } 

      @Override 
      public boolean onQueryTextSubmit(String newText) 
      { 

       // this is adapter that will be filtered 
       if(companyListAdapter != null) 
       { 
        companyListAdapter.getFilter().filter(newText); 
       } 

       return true; 
      } 
     }; 
     searchView.setOnQueryTextListener(queryTextListener); 

上請幫助。

回答

0

這是如何隱藏和顯示鍵盤:

/** 
* Hides the soft keyboard 
*/ 
public void hideSoftKeyboard() { 
    if(getCurrentFocus()!=null) { 
     InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); 
     inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); 
    } 
} 

/** 
* Shows the soft keyboard 
*/ 
public void showSoftKeyboard(View view) { 
    InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); 
    view.requestFocus(); 
    inputMethodManager.showSoftInput(view, 0); 
} 
相關問題