Добавление SearchView во фрагмент
Попытка включить поиск в панели действий. Для этого я сделал следующее:
Созданный MenuSearch.xml в папке меню, как указано ниже:
<?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>
Включил метод OnCreateOptionsMenu во фрагмент:
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));
}
И я поставилHasOptionsMenu = true;
в создании фрагмента.
С кодом выше, я получаю нулевой указатель в строкеsearchView.SetSearchableInfo...
, Не уверен, почему это происходит, хотя все кажется правильным и на своем месте.
Основываясь на некоторых предложениях по решению аналогичной проблемы, я также опробовал приведенную ниже опцию для searchview.
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));
Но опять же, я получаю searchView как ноль.
Теперь, когда я попробовал возможные варианты, я не понимаю, почему searchview становится пустым.
Буду признателен за любую оказанную помощь.