私はこれにいくつかの目を向ける必要があります。こちらの基本的な手順に従って、作業中のアプリケーションで検索を設定しましたが、デバイス検索ボタンとアクション バーの検索アクションの両方を使用して、検索ダイアログを表示できません。
アクションバーに関しては、アクションが押されたときにアクティビティ上で onSearchRequested が呼び出されていることを確認しました。これらのファイルで参照されているリソースはすべて存在します。アプリケーションはエラーなしで実行されます。
私のsearchable.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 を拡張していることを指摘できます。