2013-10-25 4 views
17

Sto provando a creare una barra delle azioni con la ricerca. Sono in grado di creare la barra di ricerca. Come posso inserire il testo inserito nel campo in stringa? C'è un buon codice per la barra delle azioni con la ricerca?Come inserire il testo inserito nella ricerca nella barra delle azioni su una stringa?

Quello che ho fatto è

SearchManager searchManager = 
      (SearchManager) getSystemService(Context.SEARCH_SERVICE); 
    SearchView searchView = 
      (SearchView) menu.findItem(R.id.menu_search).getActionView(); 



    Intent intent = getIntent(); 
    if (Intent.ACTION_SEARCH.equals(intent.getAction())) { 
     String search = intent.getStringExtra(SearchManager.QUERY); 

risposta

49

È possibile utilizzare la barra di ricerca come come questo.

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getSupportMenuInflater().inflate(R.menu.main, menu); 

    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); 
    SearchView searchView = (SearchView) menu.findItem(R.id.menu_search) 
      .getActionView(); 
    if (null != searchView) { 
     searchView.setSearchableInfo(searchManager 
       .getSearchableInfo(getComponentName())); 
     searchView.setIconifiedByDefault(false); 
    } 

    SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() { 
     public boolean onQueryTextChange(String newText) { 
      // this is your adapter that will be filtered 
      return true; 
     } 

     public boolean onQueryTextSubmit(String query) { 
      //Here u can get the value "query" which is entered in the search box. 

     } 
    }; 
    searchView.setOnQueryTextListener(queryTextListener); 

    return super.onCreateOptionsMenu(menu); 
} 
+0

wow ,,, funziona bene, grazie. –