2012-06-14 14 views
5

Estoy usando Actionbar Sherlock. La actividad que se muestra al inicio debe comenzar en un "modo de búsqueda" para comenzar a buscar de inmediato. Para hacerlo, uso el siguiente código:Barra de acciones El widget de búsqueda de Sherlock expandir no funciona

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 

    //collapse search 
    MenuItem searchItem = menu.add(Menu.NONE, R.string.inlineSearch, Menu.NONE, getString(R.string.inlineSearch)).setIcon(R.drawable.menu_search); 
    searchItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 
    searchView = new SearchView(this); 
    searchItem.setActionView(new SearchView(this)); 
    searchItem.expandActionView(); 
    return true; 
} 

The SearchView es la vista proporcionada por Android/Actionbar Sherlock.

El problema al que me enfrento es que no importa lo que haga, el elemento nunca se expande al arrancar. Traté de llamar al método expandActionView después del inicio utilizando otro elemento de la barra de acciones, nada cambió. Implementé mi propia Vista implementando CollapsibleActionView, pero nunca se llama a los métodos onActionViewExpanded() y onActionViewCollapsed().

Pero si hago clic en el botón contraído de SearchView, la vista se expande como se esperaba.

¿Alguien sabe lo que estoy haciendo mal? ¡Gracias por tu ayuda!

Respuesta

14

Después de revisar la documentación fuente, finalmente encontré la respuesta por mi cuenta. menuItem.expandActionView() solo tiene efecto si MenuItem ha establecido la siguiente marca: searchItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

Espero que ayude a alguien por ahí!

+0

¿Pudo expandir el cuadro de búsqueda al ancho completo de la barra de acciones? –

+1

¿Todavía estabas usando la vista de búsqueda de Sherlock de Action Bar o tu propia vista personalizada que mencionaste anteriormente? – pjv

+0

La única diferencia era el cambio de setShowAsAction, la vista seguía siendo la vista de búsqueda proporcionada por la barra de acción sherlock – user1033552

Cuestiones relacionadas