SearchView
が動作していないようです。 SearchView
がメニューバーに表示され、テキストを入力できます。しかし、私の電話のオンスクリーンキーボードで検索アイコンをクリックすると、何も起こりません。理想的には、新しいアクティビティを開始し、使用するクエリ文字列を送信します。私はクリックを処理するためにSearchView.setOnSearchClickListener
メソッドを実装しようとしましたが、それを行うと、検索アイコンをクリックしてパラメータを指定せずにテキストを入力すると結果アクティビティが読み込まれます。私が間違っていることを特定する助けがあれば、大いに感謝します。SearchViewは結果アクティビティに意図を送信しません
は、私のようなメニューを作成するので、私の活動で:
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
// Associate searchable configuration with the SearchView
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
final SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.convert:
...
return true;
default:
return super.onOptionsItemSelected(item);
}
}
と検索のためのxml:私も活動中でマニフェストにこれを追加しました
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/search"
android:title="@string/search"
android:icon="@android:drawable/ic_menu_search"
app:showAsAction="always"
android:actionViewClass="android.support.v7.widget.SearchView"
app:actionViewClass="android.support.v7.widget.SearchView"/>
<item android:id="@+id/convert"
android:title="@string/dlconvert" />
</menu>
どこ検索ショー:
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable"/>
そして、これは、検索結果の活動の定義です:
<activity android:name=".ActivitySearchResults">
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable"/>
<intent-filter>
<action android:name="android.intent.action.SEARCH"/>
</intent-filter>
</activity>
searchable.xmlファイルだけ含まれています
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_name"
android:hint="Search..." />
EDIT - 問題が重複する可能性と同じではありませんが。意図を受け取るはずの活動は決して始まらない。あなたのonCreateOptionsMenu()
で
[SearchViewが意図しない検索可能なアクティビティを起動する](https://stackoverflow.com/questions/35346074/searchview-launches-searchable-activity-without-intent) – ADM
あなたはそれを解決しましたか? – Prem
@Prem私は、ありがとう。 – chaoskreator