2017-03-08 2 views
0
final android.support.v7.widget.SearchView searchView = (android.support.v7.widget.SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search)); 
    SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE); 
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); 

    searchView.setFocusable(false); 

    searchView.setOnQueryTextListener(new android.support.v7.widget.SearchView.OnQueryTextListener() { 
     @Override 
     public boolean onQueryTextSubmit(String query) { 

      InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(searchView.getWindowToken(), 
        InputMethodManager.RESULT_UNCHANGED_SHOWN); 


      if (query.length() >= 3) { 

       String urlfilter = "http://frenzinsoftwares.in/alert/apis/search.php" + 
         "?key=" + query.toString(); 

       if (isNetworkAvailable()) { 
        new GetMyAppliancesfilter().execute(urlfilter); 
       } else { 
        Toast.makeText(ListActivity.this, "No Network Available", 
          Toast.LENGTH_LONG).show(); 
       } 
      } 

      return false; 
     } 

     @Override 
     public boolean onQueryTextChange(String newText) { 


      if (isSearch) { 
       if (isNetworkAvailable()) { 

        if (newText.length() == 0) { 

         String url2 = "http://frenzinsoftwares.in/alert/apis/filter_by_category.php" + 
           "?category=" + selcategory.toString() + 
           "&city=" + 1; 

         new Filtercategory().execute(url2); 
        } 
       } else { 
        Toast.makeText(ListActivity.this, "No Network Available", 
          Toast.LENGTH_LONG).show(); 
       } 

      } else { 

       isSearch = true; 

      } 

      if (newText.length() >= 3) { 

       String urlfilter = "http://frenzinsoftwares.in/alert/apis/search.php" + 
         "?key=" + newText.toString(); 

       if (isNetworkAvailable()) { 
        new GetMyAppliancesfilter().execute(urlfilter); 
       } else { 
        Toast.makeText(ListActivity.this, "No Network Available", 
          Toast.LENGTH_LONG).show(); 
       } 
      } 
      return false; 


     } 
    }); 

Antwort

0

versuchen, dies in onQueryTextSubmit nicht ausblenden:

searchView.postDelayed(new Runnable() { 
            @Override 
            public void run() { 
             InputMethodManager imm = (InputMethodManager) searchView.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
             imm.hideSoftInputFromWindow(searchView.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); 
            } 
           }, 50); 

versuchen unter:

searchView.clearFocus(); 
       if (getCurrentFocus()!=null){ 
        InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); 
        inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); 
       } 
+0

jetzt ist es nicht Arbeit –

+0

yeah !! es funktioniert richtig..danke ... –

0

Versuch zu verwenden, um eine genral Weg, um die Tastatur auszublenden :

View activeView = activityContext.getCurrentFocus(); 
if (activeView != null) { 
    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.hideSoftInputFromWindow(activeView.getWindowToken(), 0); 
} 
0

Erstellen Sie eine Methode zum Ausblenden einer keyboard und rufen Sie an:

private void hideKeyboard() { 
    View view = this.getActivity().getCurrentFocus(); 
    if (view != null) { 
     view.clearFocus(); 
     InputMethodManager inputMethodManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); 
     inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0); 
    } 
} 
Verwandte Themen