【发布时间】:2015-10-17 18:30:32
【问题描述】:
我遇到了一个问题,即包含 SearchView 的 MenuItem 的 ActionView 属性始终为空。我的目标是 API 级别 22,我试图只使用 Android.Support.V7.Widget 包中的内置 SearchView 类,并且我正在使用 FragmentActivity。
需要注意的一点是,在我的应用程序中,我的操作栏可以正常工作,并且我可以设置其他菜单项。
对我来说,当我膨胀菜单时,我得到了搜索菜单项,但它的 ActionView 属性始终为空。当我使用 MenuItemCompat.GetActionView 方法时,我得到了相同的行为。
此外,在应用程序中,我根本看不到搜索图标,而是看到带有“搜索”标签的操作栏上下文菜单作为选项。
有人知道我在这里做错了什么吗?我的代码 sn-ps 如下。
menu.xml
<?xml version="1.0" encoding="UTF-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:way="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_search"
android:icon="@android:drawable/ic_menu_search"
android:title="Search"
way:showAsAction="always|collapseActionView"
way:actionViewClass="Android.Support.V7.Widget.SearchView" />
</menu>
MyActivity.cs
namespace AndroidApp
{
[Activity (Label = "WAY", Theme = "@style/AppTheme")]
public class TabActivity : FragmentActivity, ActionBar.ITabListener, ViewPager.IOnPageChangeListener
{
private SearchView SearchView;
[A bunch of un-realted code]
public override bool OnCreateOptionsMenu (IMenu menu)
{
MenuInflater.Inflate(this.CurrentMenuId, menu);
IMenuItem item = menu.FindItem (Resource.Id.action_search);
var sItem = MenuItemCompat.GetActionView (item);
this.SearchView = sItem.JavaCast<SearchView> ();
return true;
}
[More un-related code]
}
}
【问题讨论】:
-
还有其他人有什么想法吗? Jraco11 响应无效
标签: android android-actionbar searchview