2012-06-14 18 views
5

Ich benutze Actionbar Sherlock. Die Aktivität, die beim Start angezeigt wird, sollte in einem "Suchmodus" starten, um sofort mit der Suche zu beginnen. Dazu benutze ich folgenden Code:Actionbar Sherlock Suche Widget expand funktioniert nicht

@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; 
} 

Der SearchView ist die View von Android/Actionbar Sherlock zur Verfügung gestellt.

Das Problem, mit dem ich konfrontiert bin, ist, dass egal, was ich tue, das Element nie beim Start erweitert wird. Ich habe versucht, die Methode expandActionView nach dem Start mit einem anderen Actionbar-Element aufgerufen, nichts geändert. Ich habe meine eigene View implementiert, die CollapsibleActionView implementiert, aber die Methoden onActionViewExpanded() und onActionViewCollapsed() werden nie aufgerufen.

Aber wenn ich auf die ausgeblendete Schaltfläche der SearchView klicken, wird die Ansicht wie erwartet erweitert.

Weiß jemand, was ich falsch mache? Danke für Ihre Hilfe!

Antwort

14

Nachdem ich die Quelldokumentation durchgelesen hatte, fand ich die Antwort endlich selbst. menuItem.expandActionView() wird nur wirksam, wenn das MenuItem das folgende Flag gesetzt hat: searchItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

Hoffe, dass jemand da draußen hilft!

+0

konnten Sie das Suchfeld auf die volle Breite der Aktionsleiste erweitern? –

+1

Haben Sie in dieser Antwort immer noch die Aktionsleiste Sherlock-Suchansicht oder Ihre eigene benutzerdefinierte Ansicht verwendet, die Sie oben erwähnt haben? – pjv

+0

Der einzige Unterschied war die Änderung der setShowAsAction, die Ansicht war immer noch die Suchansicht von actionbar sherlock – user1033552

Verwandte Themen