我需要对这个进行第二次观察。我已按照此处的基本说明在我正在处理的应用程序中设置搜索,但我无法使用设备搜索按钮和操作栏上的搜索操作来显示搜索对话框。
就操作栏而言,我已经确认在按下操作时正在调用 onSearchRequested 活动。这些文件中引用的任何资源都存在 - 应用程序运行时没有错误。
我的可搜索.xml:
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/search_label"
android:hint="@string/search_hint" >
</searchable>
AndroidManifest.xml 中我的搜索处理活动的活动定义:
<activity android:name=".SearchActivity">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
对于我想搜索的每个活动,我添加了:
<meta-data android:name="android.app.default_searchable"
android:value=".SearchActivity" />
当我按下上面提到的任何按钮时,什么都没有发生。logcat 中也没有任何反应。由于 onSearchRequested 被调用,我怀疑我的配置有问题,但到目前为止我一直找不到它。
如果它可能很重要,我可以指出我的 SearchActivity 扩展了 RoboFragmentActivity。