16

検索可能なアクションバーを使用しています。そして、アクションバーが検索可能なアクティビティに反応しないという問題があります。つまり、アクション バーの検索可能なテキスト編集に何かを入力し、送信をクリックしましたが、何も起こりませんでした。デバッグ追跡は、searchresultactivity のコードが実行されていないことを示しています。だから、検索可能な設定に何か問題があるのではないかと思っています。今回は問題を明確に説明したと思います。一言も吐き出さずに反対票を投じることは期待していません。

manifest.xml で始まる開発者のドキュメントの指示に従いました。メタデータは searchresult アクティビティに追加されます。

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".GermanDictionaryActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".SearchResultsActivity">
        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />
        </intent-filter> 
        <meta-data android:name="android.app.searchable"
            android:resource="@xml/searchable" />
    </activity>
</application>

次に、メニューで検索ビューを初期化しました。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.srhbar, menu);

    // Get the SearchView and set the searchable configuration
    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    mSrhView = (SearchView) menu.findItem(R.id.search).getActionView();
    mSrhView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    mSrhView.setSubmitButtonEnabled(true);

    return true;
}

そして、メニューの検索可能なアイテム:

<item android:id="@+id/search"
    android:title="@string/srh_title"
    android:showAsAction="collapseActionView|ifRoom"
    android:actionViewClass="android.widget.SearchView" />

関連する回答は大歓迎です!

4

1 に答える 1