我在this教程之后实现了搜索方法。搜索功能和建议工作正常。但问题是,当我调用onSearchRequested()时,会出现以下searchView
我可以在这里搜索并获得建议没问题
但我想搜索我在FragmentActivity上单独添加的searchView
我希望用户在此输入并在此处显示建议。我如何实现这一目标? 我的主要活动如下
<activity
android:name=".MapsActivity"
android:label="@string/title_activity_maps">
<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>
<!-- Points to searchable activity -->
<meta-data android:name="android.app.default_searchable"
android:value=".MapsActivity" />
<!-- Points to searchable meta data -->
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
答案 0 :(得分:0)
好吧,因为我没有得到正确的答案,我必须自己找到解决方案。经过2天的谷歌搜索和反复试验后,我发现我不需要在较新版本的Android上拨打onSearchRequested()
。相反,如果我有一个SearchView
,我需要添加以下行
mapSearch = (SearchView) findViewById(R.id.msearchView); //msearchView is my SearchView name
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
mapSearch.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
希望这将有助于将来遇到此问题的任何人