Próba włączenia wyszukiwania w pasku akcji. Do tego mam zrobić, co następuje:Dodawanie SearchView w Fragmenty
Created MenuSearch.xml w folderze menu, jak podano poniżej:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_search"
android:actionViewClass="Android.Support.V7.Widget.SearchView"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="always"
android:title="Search"/>
</menu>
wliczony metoda OnCreateOptionsMenu we fragmencie:
public override void OnCreateOptionsMenu(IMenu menu, MenuInflater inflater)
{
inflater.Inflate(Resource.Menu.MenuSearch, menu);
base.OnCreateOptionsMenu(menu, inflater);
var searchManager = (SearchManager) this.Activity.GetSystemService(Context.SearchService);
searchView = (SearchView) (menu.FindItem(Resource.Id.action_search).ActionView);
searchView.SetSearchableInfo(searchManager.GetSearchableInfo(Activity.ComponentName));
}
I mam ustaw HasOptionsMenu = true;
w oncreate fragmentu.
Za pomocą powyższego kodu otrzymuję wskaźnik zerowy w linii searchView.SetSearchableInfo...
. Nie wiem, dlaczego tak się dzieje, chociaż wszystko wydaje się poprawne i na miejscu.
Na podstawie kilku sugestii dotyczących rozwiązania podobnego problemu wypróbowałem również opcję poniżej dla wyszukiwania.
var item = menu.FindItem (Resource.Id.action_search);
var searchItem = MenuItemCompat.GetActionView(item);
searchView = searchItem.JavaCast<Android.Support.V7.Widget.SearchView>();
searchView.SetSearchableInfo(searchManager.GetSearchableInfo(Activity.ComponentName));
Ale ponownie otrzymuję searchView jako wartość null.
Teraz, gdy wypróbowałem możliwe opcje, nie mam pojęcia, dlaczego widok wyszukiwania staje się pusty.
Każda pomoc jest doceniana.
uzyskiwanie NullPointerException na SearchView searchView = new SearchView (((główną działalność) mContext) .getSupportActionBar() getThemedContext().); – Dinesh
@ Dinesh Dostaję to również. Udało ci się to naprawić? – CapturedTree
Twój styl aplikacji prawdopodobnie nie obsługuje pasków akcji. Sprawdź, czy twój styl to robi. –