4

Androidの検索マネージャーを使用しようとしています。

実際、私は私が呼んでいる活動をしています

 onSearchRequested()

次に、同じアクティビティでこの関数を使用して検索文字列を取得しています。

 // Get the intent, verify the action and get the query
        Intent intent = getIntent();
        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
          String query = intent.getStringExtra(SearchManager.QUERY);
        }

問題は次のとおりです。検索ボタンをクリックすると、新しいアクティビティが開きます。同じ状態を維持して、いくつかの検索を実行したいと思います。したがって、私の目標は、検索ボタンをクリックしたときに新しいアクティビティが開かないようにすることです。

ありがとうございました。

4

2 に答える 2

4

解決策は、開発者の例を再利用することですhttp://developer.android.com/guide/topics/search/search-dialog.html

重要なことは、検索用と結果表示用の 2 つのアクティビティを作成することです。

マニフェストで、次のコードを使用します。

<application ... >
<!-- this is the searchable activity; it performs searches -->
<activity android:name=".SearchableActivity" >
    <intent-filter>
        <action android:name="android.intent.action.SEARCH" />
    </intent-filter>
    <meta-data android:name="android.app.searchable"
               android:resource="@xml/searchable"/>
</activity>

<!-- this activity enables the search dialog to initiate searches
     in the SearchableActivity -->
<activity android:name=".OtherActivity" ... >
    <!-- enable the search dialog to send searches to SearchableActivity -->
    <meta-data android:name="android.app.default_searchable"
               android:value=".SearchableActivity" />
</activity>
...

于 2012-06-05T11:30:38.623 に答える