Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在横向模式下键入时显示搜索建议_Android_Landscape_Search Suggestion - Fatal编程技术网

Android 在横向模式下键入时显示搜索建议

Android 在横向模式下键入时显示搜索建议,android,landscape,search-suggestion,Android,Landscape,Search Suggestion,在搜索对话框的搜索字段中键入时,我已经得到了搜索建议。在纵向模式下键入时,结果将列在“搜索”对话框下。但当我切换到横向模式时,searchdialog的文本输入字段变成全屏(我希望你知道我的意思),搜索建议就看不到了。例如,我从谷歌地图上知道,在横向模式下,搜索建议显示在“大”文本输入字段下……在横向模式下键入时,我应该键入哪些代码来获取此“视图” 谢谢 托马斯如果您想让您的建议出现在景观中,您需要执行以下操作之一: 将SUGGEST\u COLUMN\u QUERY添加到您的建议结果中 将a

在搜索对话框的搜索字段中键入时,我已经得到了搜索建议。在纵向模式下键入时,结果将列在“搜索”对话框下。但当我切换到横向模式时,searchdialog的文本输入字段变成全屏(我希望你知道我的意思),搜索建议就看不到了。例如,我从谷歌地图上知道,在横向模式下,搜索建议显示在“大”文本输入字段下……在横向模式下键入时,我应该键入哪些代码来获取此“视图”

谢谢


托马斯

如果您想让您的建议出现在景观中,您需要执行以下操作之一:

  • SUGGEST\u COLUMN\u QUERY
    添加到您的建议结果中
  • android:searchMode=“queryRewriteFromText”
    或``android:searchMode=“queryRewriteFromData”
    添加到您的
    searchable.xml中`
然而,我认为建议最好只显示普通的弹出窗口而不是全屏键盘。您可以通过在
searchable.xml
中添加
android:imeOptions=“flagNoExtractUi”
来实现这一点

就这些。如果你好奇的话,我是这样找到的:

将告诉您搜索对话框是由实现的,它对完成文本视图使用。它的函数对由
AutoCompleteTextView
mAdapter.getItem()
返回的项调用
Filter.convertResultToString()
,然后将这些项传递给
InputMethodManager.displayCompletions()
(它负责提供所需的建议)

SearchDialog
的情况下,适配器是一个。这是的子类,其
getFilter()
方法返回一个
CursorFilter
类,该类仅通过在适配器类上委托到
convertToString()
来实现
SuggestionAdapter
最终实现此方法,如下所示:

public CharSequence convertToString(Cursor cursor) {
    if (cursor == null) {
        return null;
    }

    String query = getColumnString(cursor, SearchManager.SUGGEST_COLUMN_QUERY);
    if (query != null) {
        return query;
    }

    if (mSearchable.shouldRewriteQueryFromData()) {
        String data = getColumnString(cursor, SearchManager.SUGGEST_COLUMN_INTENT_DATA);
        if (data != null) {
            return data;
        }
    }

    if (mSearchable.shouldRewriteQueryFromText()) {
        String text1 = getColumnString(cursor, SearchManager.SUGGEST_COLUMN_TEXT_1);
        if (text1 != null) {
            return text1;
        }
    }

    return null;
}

…这将产生上面第一段中的建议。

您能显示该屏幕的布局代码吗?