Android Honeycomb - 如何在查询文本为空时显示对 SearchView 的建议?

标签 android

我已经在我的应用程序的 ActionBar 中添加了一个 SearchView,并使用 SearchableInfo 设置了一个 SuggestionsProvider。建议实际上运作良好,除了当搜索查询文本为空时不显示任何建议。我发现即使将 searchSuggestThreshold 设置为 0,也不会向我的建议提供者查询建议。

我最接近的解决方案是使用 setOnQueryTextFocusChangeListener 并在 onFocusChange 中交换 SearchView 建议适配器的光标。通过这种方式,我看到了正确高度的建议下拉,但是没有显示任何建议文本。

下面是我如何查询光标以显示空文本的建议。

Cursor emptySuggestions = getContentResolver().query(
                            Uri.parse("content://my.authority/search_suggest_query/test"),
                            null, null, null, null);

有什么方法可以使建议正确显示吗?

当然,当搜索查询为空时,总是有可能显示我自己的 ListPopupWindow,但我想避免这种情况,除非有一种简单的方法来重用 SearchView 中使用的布局。

最佳答案

我想出了如何触发搜索 View 来查询我的建议提供者的空搜索文本:

    _searchView.setOnQueryTextFocusChangeListener(new OnFocusChangeListener()
        {
        @Override
        public void onFocusChange(View v, boolean hasFocus)
            {
            if (!hasFocus)
                return;

            String query = _searchView.getQuery().toString();
            _searchView.setQuery(query, false);
            }
        });

关于Android Honeycomb - 如何在查询文本为空时显示对 SearchView 的建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8667795/

相关文章:

android - 指定的 child 已经有一个 parent ,RecyclerView

android - 如何在android中制作圆形 View 寻呼机?

java - java中的匿名内部类及其语法

android - 是否可以在 Google+ API 中阅读所有传入的互动帖子?

java - 一段时间后重置变量

Android Circular Network Image View 显示不同尺寸

android - 带手势检测器的 ImageSwitcher "fling"/"swipe"

android - 更新 Android 中方向变化的进度条

java - 范围选择的行为差异( Material 日历 View )

android - Horizo​​ntalScrollView 跟踪当前选择