0

我需要对这个进行第二次观察。我已按照此处的基本说明在我正在处理的应用程序中设置搜索,但我无法使用设备搜索按钮和操作栏上的搜索操作来显示搜索对话框。

就操作栏而言,我已经确认在按下操作时正在调用 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。

4

1 回答 1

0

好吧,我想通了,我有点自欺欺人了。看,我正在处理的项目有一个核心 android 应用程序支持基于它的专业化。我将搜索添加到前者,但当然有必要修改依赖模块中的 AndroidManifest.xml,因为它是部署该模块时最重要的那个。修改核心模块清单没有任何帮助。

当然,我是在核心模块中的 AndroidManifest.xml 中添加这些位,而不是在用于部署的模块中,这意味着我实际上并没有定义任何东西。难怪什么都没发生。

于 2012-07-04T14:47:09.540 回答