2014-09-15 4 views
6
SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(Menus.SEARCH)); 
searchView.setQueryHint(this.getString(R.string.search)); 
editSearch = (EditText) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); 
editSearch.setHintTextColor(getResources().getColor(R.color.white)); 
searchView.setOnQueryTextListener(OnQuerySearchView); 


private OnQueryTextListener OnQuerySearchView = new OnQueryTextListener() { 

    @Override 
    public boolean onQueryTextSubmit(String newText) { 
     if (TextUtils.isEmpty(newText)) { 
      listAllContact.clearTextFilter(); 
     } else { 
      listAllContact.setFilterText(newText.toString()); 
     } 
     return true; 
    } 

    @Override 
    public boolean onQueryTextChange(String newText) { 
     String text = editSearch.getText().toString() 
       .toLowerCase(Locale.getDefault()); 
     adapter.filter(text); 
     return true; 
    } 

}; 
+2

puoi espandere la tua domanda? – sbrichards

+1

Ecco il link esattamente ciò che http://stackoverflow.com/a/25842354/1878148 – Narendra

risposta

-2

Ecco un modo per farlo -

@Override 
public void onBackPressed() { 

    // Write your code here 

    super.onBackPressed(); 
} 
+0

Downvote? La domanda non è stata posta chiaramente e da quello che ho capito, il richiedente deve scoprire come gestire l'azione quando viene premuto il pulsante Indietro e la mia soluzione lo fa esattamente. – Confuse

+0

hai un punto. Questa è la domanda peggio mai fatta. Non un singolo dettaglio sul problema ... –

+0

Questa non è la risposta. La domanda riguarda la stampa della freccia indietro sul display della ricerca. –

18

Se si utilizza android.support.v7.widget.SearchView come voce di menu:

<menu 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 

    <item 
     android:id="@+id/action_search" 
     android:title="" 
     app:showAsAction="ifRoom|collapseActionView" 
     app:actionViewClass="android.support.v7.widget.SearchView"/> 
</menu> 

È possibile gestire di nuovo il tasto (per stato espanso) con:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu, menu); 
    MenuItem searchItem = menu.findItem(R.id.action_search); 
    searchItem.expandActionView(); 
    MenuItemCompat.setOnActionExpandListener(searchItem, new MenuItemCompat.OnActionExpandListener() { 
     @Override 
     public boolean onMenuItemActionExpand(MenuItem item) { 
      return true; 
     } 

     @Override 
     public boolean onMenuItemActionCollapse(MenuItem item) { 
      // Write your code here 
      return true; 
     } 
    }); 
} 
+0

Puoi aggiungere un po 'di spiegazione per la tua risposta? –

+0

Ho aggiunto il codice XML e i commenti. – Atetc

+1

basta mettere tutto per tornare a VERO altrimenti non funzionerebbero. Lavorato e testato thumbs up @Atetc – ralphgabb

Problemi correlati