android view 添加fragment,android – 在Fragment中添加SearchView

尝试在操作栏中包含搜索查看.为此,我做了以下事情:

在菜单文件夹中创建了MenuSearch.xml,如下所示:

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"/>

包含片段中的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;在片段的oncreate.

使用上面的代码,我在searchView.SetSearchableInfo …行中获得空指针.不知道为什么会发生这种情况,尽管一切似乎都是正确的.

基于解决类似问题的一些建议,我还尝试了searchview的以下选项.

var item = menu.FindItem (Resource.Id.action_search);

var searchItem = MenuItemCompat.GetActionView(item);

searchView = searchItem.JavaCast();

searchView.SetSearchableInfo(searchManager.GetSearchableInfo(Activity.ComponentName));

但同样,我将searchView视为null.

现在我已经尝试了可能的选项,我对于为什么searchview变为null无能为力.

任何帮助深表感谢.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值