操作栏上的搜索小部件不会触发我的搜索活动

我正在开发基于官方教程的搜索小部件界面: http : //developer.android.com/guide/topics/search/search-dialog.html

问题:当我输入查询并按Ok / enter时,我的SearchableActivity不会被触发。

SearchableActivity的清单:

      

XML / searchable.xml

    

主动作生命周期方法,将动作栏添加图标(工作正常):

 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); // Get the SearchView and set the searchable configuration SearchManager searchManager = (SearchManager)getSystemService(Context.SEARCH_SERVICE); SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); // Do not iconify the widget;expand it by default searchView.setIconifiedByDefault(false); return true; } 

SearchableActivity.java

 public class SearchableActivity extends ListActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("MY", "search activity triggered"); } } 

注意:搜索小部件显示在操作栏上,我可以插入数据,但是按OK / Enter不会将我带到SearchableActivity(不会触发on SerechableActivity的创建)。

我错过了什么或官方教程有缺陷吗?

Solutions Collecting From Web of "操作栏上的搜索小部件不会触发我的搜索活动"

问题解决了:教程似乎缺少一个重要部分: 必须在manifest中的标签内添加才能获得搜索小部件正常工作。

编辑 – 还提示在数据发布时未触发操作栏搜索时解决问题(没有任何错误,文档没有关于此限制的说法):在searchable.xml文件中android:提示和android:标签属性必须引用strings.xml中的字符串。 资源

您应该覆盖活动中的onOptionsItemSelectedonSearchRequested

如果“xml / searchable.xml”文件格式不正确(诸如“searchable”标记之类的内容并非全部小写),则执行期间不会返回错误消息,并且不会调用“SearchableActivity”。