0

私はこれにいくつかの目を向ける必要があります。こちらの基本的な手順に従って、作業中のアプリケーションで検索を設定しましたが、デバイス検索ボタンとアクション バーの検索アクションの両方を使用して、検索ダイアログを表示できません。

アクションバーに関しては、アクションが押されたときにアクティビティ上で 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 を拡張していることを指摘できます。

4

1 に答える 1

0

わかりました、私はそれを理解しました、そして私は自分自身を少し馬鹿にしました。私が取り組んでいるプロジェクトには、それに基づく専門化をサポートするコア Android アプリケーションがあります。前者に検索を追加していますが、依存モジュールの AndroidManifest.xml は、そのモジュールがデプロイされたときに重要になるため、当然変更する必要があります。コア モジュールのマニフェストを変更しても、何の役にも立ちません。

もちろん、私はこれらのビットをコア モジュールの AndroidManifest.xml に追加していましたが、展開用のモジュールではありませんでした。つまり、実際には何も定義していませんでした。何も起こらなかったのも不思議ではありません。

于 2012-07-04T14:47:09.540 に答える