gpt4 book ai didi

android - 有没有办法为 SearchRecentSuggestionsProvider 指定图标?

转载 作者:行者123 更新时间:2023-11-29 22:21:21 24 4
gpt4 key购买 nike

我想为我的应用程序的本地搜索历史指定一个图标,但我在文档中没有看到任何可以让我轻松添加图标的内容。明确地说,我正在使用内置的 Android 搜索 API 并利用我已实现的 SearchRecentSuggestionsProvider。

此外,我的目标是 API 级别 7。

-丹

最佳答案

好吧,我不确定这是否是完成我所要求的最简单的方法,但我是这样做的:

  1. 创建另一个 ContentProvider 并在我的 searchable.xml 中使用它
  2. 这个新的 ContentProvider 查询方法将使用特殊参数和特殊 URI 查询我的 SearchRecentSuggestionsProvider 并返回该 Cursor。

我的新 ContentProvider 的源代码 fragment :

...
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
final String[] PROJECTION = new String[] {
"_id",
"display1 AS " + SearchManager.SUGGEST_COLUMN_TEXT_1,
"display2 AS " + SearchManager.SUGGEST_COLUMN_TEXT_2,
"query AS " + SearchManager.SUGGEST_COLUMN_QUERY,
android.R.drawable.ic_menu_recent_history + " AS " + SearchManager.SUGGEST_COLUMN_ICON_1,
};
final Uri URI =
Uri.parse("content://" + SearchHistoryProvider.AUTHORITY + "/suggestions");
return getContext().getContentResolver().query(
URI,
PROJECTION,
"display1 LIKE ?",
new String[] {selectionArgs[0] + "%"},
"date DESC");
}
...

如果 SearchRecentSuggestionsProvider 未设置为使用两行,则上面投影中的“display2”应更改为“null”或可能完全省略。

如果 URI 中省略了“建议”路径,它将不起作用。它必须是“建议”,否则您将看到“无效 Uri”异常。

我通过挖掘 SearchRecentSuggestionsProvider 的源代码来挖掘大部分信息。

关于android - 有没有办法为 SearchRecentSuggestionsProvider 指定图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7098577/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com