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