4

現在、アプリに検索機能を追加する作業を行っていますが、いくつかの問題が発生しています。まず、検索アクティビティを作成したくないことを明確にしておきたいのですが、アクションバーのSearchViewを使用して、候補を押して検索を実行したいと思います。

Searchable Configuration xmlオブジェクトにアタッチできるようには見えませんが、正しく展開するSearchViewを作成しました。このコード行を追加しました:

android:voiceSearchMode = "showVoiceSearchButton | launchRecognizer"

それでも、私のSearchViewはその影響を受けていないようです。同じことがこのコード行にも当てはまります。

android:hint="自分のものを検索"

繰り返しますが、効果はありません。

これが私のAndroidManifest.xmlでの私の活動です:

<activity
    android:name="com.simon.holocountownapp.ItemListActivity"
    android:label="Holo Countdown" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.SEARCH" />
    </intent-filter>

     <meta-data
        android:name="android.app.searchable"
        android:resource="@xml/searchable" />
</activity>

onCreateOptionsMenu()でのSearchViewの設定は次のとおりです。

searchView = (SearchView) menu.findItem(R.id.abSearch)
            .getActionView();

SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager
            .getSearchableInfo(getComponentName()));

searchView.setIconifiedByDefault(false);
searchView.setQueryRefinementEnabled(true);

要約すると、searchable.xmlに使用されているタグがSearchViewに添付されていないようですが、何が間違っているのでしょうか。

これを読むために時間を割いてくれてありがとう、私はあなたが私を助けることができることを願っています:)

4

3 に答える 3

2

android.intent.action.SEARCHインテント フィルターも追加する必要があります。参考までにこちらのコードをご覧ください。

 <intent-filter>
        <action android:name="android.intent.action.SEARCH" />
  </intent-filter>
于 2013-02-16T16:23:32.403 に答える
0

<meta-data>要素の子としての要素<application>も必要だと思います

<application>
        <meta-data
            android:name="android.app.default_searchable"
            android:value="com.simon.holocountownapp.ItemListActivity" >
        </meta-data>
</application>

これが文書化されているかどうかは覚えていません。サンプルアプリケーションの1つで見つけたと思います。

于 2013-02-16T23:51:29.473 に答える