Android:搜索按钮未显示在操作栏中

Android:搜索按钮未显示在操作栏中,android,Android,我正在创建联系人列表视图,并希望将搜索视图添加到该活动中。我创建了一个searchable.xml,其内容粘贴在下面 <?xml version="1.0" encoding="utf-8"?> <searchable xmlns:android="http://schemas.android.com/apk/res/android" android:label="@string/app_name" android:hint="@string/search_hint">

我正在创建联系人列表视图,并希望将搜索视图添加到该活动中。我创建了一个searchable.xml,其内容粘贴在下面

<?xml version="1.0" encoding="utf-8"?>
<searchable
xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_name"
android:hint="@string/search_hint">
</searchable>
这是我的活动菜单xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context="com.gwts.lingua.ContactsWindow">
<item android:id="@+id/menuSearch"
    android:title="Search"
    android:icon="@drawable/find"
    app:showAsAction="ifRoom|collapseActionView"
    android:actionViewClass="android.widget.SearchView" />
<item android:id="@+id/action_settings" android:title="@string/action_settings"
    android:orderInCategory="100" app:showAsAction="always" />
</menu>


当我将apk安装到手机并尝试启动应用程序时,我在操作栏上看不到searchview。有什么可能出错?

如果将
AppCompatActivity
ActionBarActivity
用作父活动,菜单类应该可以正常工作,但如果使用
activity
FragmentActivity
则必须使用

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menuSearch"
    android:title="Search"
    android:icon="@drawable/find"
    android:showAsAction="always"
    android:actionViewClass="android.widget.SearchView" />

 <item android:id="@+id/action_settings" android:title="@string/action_settings"
    android:orderInCategory="100" app:showAsAction="always" />
</menu>

如果将
AppCompatActivity
ActionBarActivity
用作父活动,则菜单类应该可以正常工作,但如果使用
activity
FragmentActivity
则必须使用

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menuSearch"
    android:title="Search"
    android:icon="@drawable/find"
    android:showAsAction="always"
    android:actionViewClass="android.widget.SearchView" />

 <item android:id="@+id/action_settings" android:title="@string/action_settings"
    android:orderInCategory="100" app:showAsAction="always" />
</menu>

我建议在
公共布尔onCreateOptions菜单(菜单菜单菜单)
返回

编辑:

我重现了问题和解决方案:

请换车

\联系人显示\app\src\main\res\menu\menu\contacts\u window.xml

请参阅有关名称空间的说明


关于操作栏的好教程

我建议在
public boolean oncreateoptions菜单(菜单菜单菜单)
返回

编辑:

我重现了问题和解决方案:

请换车

\联系人显示\app\src\main\res\menu\menu\contacts\u window.xml

请参阅有关名称空间的说明

关于操作栏的好教程

您需要具备以下功能:

app:actionViewClass="android.support.v7.widget.SearchView"
与此相反:

android:actionViewClass="android.widget.SearchView"
您需要具备以下功能:

app:actionViewClass="android.support.v7.widget.SearchView"
与此相反:

android:actionViewClass="android.widget.SearchView"


你在onCreateOptionsMenu()上使用了@Override?是的。默认情况下,它是由IDE添加的,并且您在onCreateOptions菜单()上使用了@Override?是的,我使用了。默认情况下,它是由IDEI添加的,IDEI根据上面的xml代码段进行了更改,但不起作用。顺便说一下,我的类正在扩展Activity类。另外,如果我使用AppCompatActivity或ActionBarActivity,应用程序在加载时会崩溃。不知道为什么。我根据上面的xml片段进行了更改,但没有成功。顺便说一下,我的类正在扩展Activity类。另外,如果我使用AppCompatActivity或ActionBarActivity,应用程序在加载时会崩溃。不知道为什么。因为启动模拟器需要很长时间,所以我没有尝试过。所以直接在我的手机上试试:)这有什么区别吗?有可能分享整个项目吗?然后我将有机会调试它。如何将其附加到此处?我不确定您是否可以将其附加到此处,但您可以将其上载到github或其他在线服务,并带来链接。对于延迟,我深表歉意。您可以从下载它,但尚未尝试,因为启动模拟器需要很长时间。所以直接在我的手机上试试:)这有什么区别吗?有可能分享整个项目吗?然后我将有机会调试它。如何将其附加到此处?我不确定您是否可以将其附加到此处,但您可以将其上载到github或其他在线服务,并带来链接。对于延迟,我深表歉意。你可以从我这里下载它,它是
app:actionViewClass=“android.widget.SearchView”
,但是是的,安卓:必须用app.替换。对我来说,它是
app:actionViewClass=“android.widget.SearchView”
,但是是的,安卓:必须用app.替换。
app:actionViewClass="android.support.v7.widget.SearchView"
android:actionViewClass="android.widget.SearchView"