数据库模式必须包含DATABASE_MODE_QUERIES,并且可以选择包含 DATABASE_MODE_2LINES,它会在建议表中添加另一列,允许您为每个建议提供第二行文字。
public static final int DATABASE_MODE_2LINES
此模式位将数据库配置为包含第二个注释行 每个条目。 可选的的
问题是这个注释行/文本来自哪里?
从我在开发者指南中看到的到目前为止,我们没有提供任何带有我们的搜索查询的注释文本,这些文本将添加到建议表中添加的额外列中,之后在最近的建议列表作为第二个注释行。
答案 0 :(得分:1)
您在通过在saveRecentQuery(searchQuery, annotationText)
的实例上调用RecentQuerySuggestions
将搜索查询保存到最近查询的集合时提供1>:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intent = getIntent();
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
SearchRecentSuggestions suggestions = new SearchRecentSuggestions(this,
MySuggestionProvider.AUTHORITY, MySuggestionProvider.MODE);
suggestions.saveRecentQuery(query, null); // *** The second argument is that annotation text
}
}
来自reference of saveRecentQuery
:
public void saveRecentQuery(String queryString,String line2)
向最近查询列表添加查询。立即返回, 在后台执行保存。
<强>参数强> queryString 用户输入的字符串。此字符串将显示为建议,如果用户单击该建议, 此字符串将发送到您的可搜索活动(作为新搜索 查询)。
line2 如果您已使用DATABASE_MODE_2LINES配置了最近的建议提供程序,则可以在此处传递第二行文本。它会 在主要建议下方以较小的字体显示。打字时, 任何一行文本中的匹配都将显示在列表中。如果你 没有配置双线模式,或者如果给定的建议没有 要显示任何其他文本,您可以在此处传递null。