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!
konnten Sie das Suchfeld auf die volle Breite der Aktionsleiste erweitern? –
Haben Sie in dieser Antwort immer noch die Aktionsleiste Sherlock-Suchansicht oder Ihre eigene benutzerdefinierte Ansicht verwendet, die Sie oben erwähnt haben? – pjv
Der einzige Unterschied war die Änderung der setShowAsAction, die Ansicht war immer noch die Suchansicht von actionbar sherlock – user1033552