Saltar al contenido

Cómo usar SearchView en la barra de herramientas de Android

Ten en cuenta que en las ciencias informáticas cualquier problema casi siempre tiene diferentes resoluciones, por lo tanto nosotros mostraremos lo más óptimo y eficiente.

Solución:

tienes que usar Appcompat biblioteca para eso. Que se usa como a continuación:

tablero.xml



    

Archivo de actividad (en Java):

public boolean onCreateOptionsMenu(Menu menu) 
    MenuInflater menuInflater = getMenuInflater();
    menuInflater.inflate(R.menu.dashboard, menu);

     MenuItem searchItem = menu.findItem(R.id.action_search);

    SearchManager searchManager = (SearchManager) MainActivity.this.getSystemService(Context.SEARCH_SERVICE);

    SearchView searchView = null;
    if (searchItem != null) 
        searchView = (SearchView) searchItem.getActionView();
    
    if (searchView != null) 
        searchView.setSearchableInfo(searchManager.getSearchableInfo(MainActivity.this.getComponentName()));
    
        return super.onCreateOptionsMenu(menu);

Archivo de actividad (en Kotlin):

override fun onCreateOptionsMenu(menu: Menu?): Boolean 
    menuInflater.inflate(R.menu.menu_search, menu)

    val searchItem: MenuItem? = menu?.findItem(R.id.action_search)
    val searchManager = getSystemService(Context.SEARCH_SERVICE) as SearchManager
    val searchView: SearchView? = searchItem?.actionView as SearchView

    searchView?.setSearchableInfo(searchManager.getSearchableInfo(componentName))
    return super.onCreateOptionsMenu(menu)

archivo de manifiesto:

 

        
            
                
            
            
                
            

            
        

archivo xml de búsqueda:



Y por fin tu SearchResultsActivity código de clase. para mostrar el resultado de su búsqueda.

Si desea configurar el servicio de búsqueda dentro de su Fragmentsolo agregue estas pocas líneas:

Paso 1 – Agregar el campo de búsqueda a usted toolbar:


Paso 2 – Agregue la lógica a su onCreateOptionsMenu()

import android.support.v7.widget.SearchView; // not the default !

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

    MenuItem myActionMenuItem = menu.findItem( R.id.action_search);
    searchView = (SearchView) myActionMenuItem.getActionView();
    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() 
        @Override
        public boolean onQueryTextSubmit(String query) 
            // Toast like print
            UserFeedback.show( "SearchOnQueryTextSubmit: " + query);
            if( ! searchView.isIconified()) 
                searchView.setIconified(true);
            
            myActionMenuItem.collapseActionView();
            return false;
        
        @Override
        public boolean onQueryTextChange(String s) 
            // UserFeedback.show( "SearchOnQueryTextChanged: " + s);
            return false;
        
    );
    return true;

Si desea agregarlo directamente en la barra de herramientas.




    

        

    


¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *