我正在处理一个可搜索的操作栏。我有一个问题,动作栏对可搜索的活动没有反应。也就是说,我在操作栏的可搜索文本编辑中输入了一些内容,然后点击提交,但什么也没发生。调试跟踪显示,我的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" />
任何相关的回答都将不胜感激!
我通过更改以下行解决了问题:
searchView.setSearchableInfo(searchManager.getSearchableInfo(new ComponentName(getApplicationContext(), SearchResultsActivity.class)));