21

jestem w stanie rozwinąć widok wyszukiwania poprzez działanie jak tenSiła działania Bar pokaz wyszukiwania widok

<item android:id="@+id/menu_search" 
      android:title="Search" 
      android:showAsAction="never|collapseActionView" 
      android:actionViewClass="android.widget.SearchView" /> 

ale mam aktywność 3-Tab i chciałbym SearchView zawsze być rozszerzony Jak mogę zrobić że?

Odpowiedz

61

Konieczne są dwa kroki.

Najpierw upewnij się, że element menu wyszukiwania jest zawsze wyświetlany jako działanie i nigdy nie został przeniesiony do menu nadmiarowego. Aby osiągnąć ten ustawiony atrybut elementu menu szukania w showAsAction do always:

<item 
    android:id="@+id/menu_search" 
    android:title="Search" 
    android:showAsAction="always" 
    android:actionViewClass="android.widget.SearchView" /> 

drugie, upewnij się, że widok akcja nie jest pokazany w zikonifikowanych (tj zawalił) tryb domyślnie. Aby zrobić to wezwanie setIconifiedByDefault(false) na wyszukiwanie Lista przykład:

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

    MenuItem searchViewItem = menu.findItem(R.id.menu_search); 
    SearchView searchView = (SearchView) searchViewItem.getActionView(); 
    [...] 
    searchView.setIconifiedByDefault(false); 

    return true; 
} 

To powinno wystarczyć.

+1

Pobieranie NPE w wyszukiwarce thsi searchView.setIconifiedByDefault Użyłem tego kodu SearchView searchView = (SearchView) menu.findItem (R.id.menu_search) .getActionView(); searchView.setIconifiedByDefault (false); – Erum

+0

Spróbuj uzyskać SearchView od MenuItemCompat.getActionView (menu.findItem (R.id.menu_search)), jeśli używasz AppCompat SearchView –

Powiązane problemy