我已经将SearchView添加到我的应用程序的ActionBar中,并使用SearchableInfo设置了一个SuggestionsProvider。除非在搜索查询文本为空时不显示任何建议,否则建议实际上运行良好。我发现,即使searchSuggestThreshold设置为0,我的建议提供者也不会被查询建议。Android Honeycomb - 如何查询文本为空时显示SearchView的建议?
最接近的解决方案是使用setOnQueryTextFocusChangeListener并在onFocusChange中交换SearchView建议适配器的光标。通过这种方式,我可以看到正确高度的建议,但没有显示任何建议文字。
以下是我如何查询光标以显示空文本的建议。
Cursor emptySuggestions = getContentResolver().query(
Uri.parse("content://my.authority/search_suggest_query/test"),
null, null, null, null);
有什么方法可以使建议正确显示吗?
当然,当搜索查询为空时,总有可能显示我自己的ListPopupWindow,但我想避免这种情况,除非有一种简单的方法来重用SearchView中使用的布局。
嗨,你能解释为什么这个工程?为什么它不适用于searchView.setQuery(query,false)行? – benzabill 2014-07-03 17:00:55
@benzabill其实我不记得细节,并重新编写代码,不再需要它。我想我的SuggestionsProvider中有一个错误。 – 2014-07-03 17:18:37
使用此解决方案建议出现在键盘后面。我在“view.post(new Runnable(){”)中封装了代码,仍然没有用。如果searchview已经准备好显示建议,那么必须有一个处理程序来处理。 – 2014-08-06 09:26:35