Global "función de búsqueda" en la aplicación completa
En mi aplicación a lo largo Quiero que el botón de búsqueda para realizar una Activity
independiente. Ie Desde cualquier lugar de la aplicación cuando presiono el botón de búsqueda, quiero que aparezca una actividad independiente.
¿Hay alguna manera de que en lugar de definir onSearchRequested()
en cada actividad, sólo lo configuro en un lugar (como Manifest.xml
) y se puede utilizar en toda la aplicación?
- Widget de búsqueda de Android - diferencia entre onQueryTextSubmit y el envío de Intent to SearchableActivity?
- Personalización de Android SeekBar
- Filtro de vista de lista Android
- ¿Cómo utilizar un Seekbar en android como un seekBar, así como un progressBar simultáneamente?
- ¿Cómo implementar autocompletar la vista de búsqueda en la barra de acción mediante la solicitud http?
- ¿Cómo agregar la opción de búsqueda en la aplicación Android?
- ¿Cómo cambiar el color del pulgar en el buscador?
- Horizontal ProgressBar: Cambiar entre determinado e indeterminado
- SearchView quita la línea de enfoque azul y muestra el cursor en determinada posición
- ¿Cómo puedo devolver un registro basado sólo en una coincidencia parcial de ese registro?
- Android: ¿Es posible insertar una opción permanente en sugerencias de búsqueda personalizadas?
- ¿Cómo implementar la funcionalidad de búsqueda para Google Map Api V2 Android?
- Poner mi aplicación en la lista de búsqueda de Google Now Phone (Búsqueda global de Android)
Puede definir una clase abstracta (no necesariamente) que extiende Actividad, implementa onSearchRequest allí y hereda todas las otras clases de Activity de esa clase. De esta manera, sólo tiene que definir el comportamiento onSearch una sola vez.
es decir
public abstract class MyBaseActivity extends Activity { @Override public void onSearchRequest() { // Your stuff here } } public class MyActivity1 extends MyBaseActivity { // OnSearchRequest is already implemented }
Si planea utilizar varias subclases de Actividad, es decir, ListActivity, esto podría no ser una buena solución, ya que debe crear una clase base abstracta para todas las subclases de Actividades que utilice. En este caso recomiendo la creación de una clase adicional, encapsulando el código de búsqueda del botón de búsqueda y la llamada que de sus actividades onSearchRequest, es decir
public class SearchButtonHandle { public void handleSearch(Context c) { // Your search btn handling code goes here } } public class MyActivity1 extends Activity { // Or ListActivity .... @Override public void onSearchRequest() { new SearchButtonHandle().handleSearch(this); } }
Por supuesto, también puede combinar ambos enfoques definiendo una subclase abstracta de todas las subclases de actividad que utilice e implemente el onSearchRequest como en el ejemplo anterior con un controlador de búsqueda externo