如何从 ContentQueryMap 获取 SortedMap?

发布于 2024-10-30 05:04:28 字数 263 浏览 6 评论 0原文

为了缓存 Cursor 的结果,我使用 ContentQueryMap。

事实是,我认为对于每个 ContentQueryMap 我只能获得查询的单个列......但我对此不确定。

假设游标返回 2 列:键、值。

我想要一个 SortedMap 这样完成: , , ...

问:如何从 Cursor 开始选择两列,从 ContentQueryMap 传递(因为查询必须被缓存)?

To cache a result of a Cursor, I use a ContentQueryMap.

The fact is that I think that for every ContentQueryMap I can get only a single column of the query... But I'm not sure about this.

Suppose that the cursor returns 2 columns: key, value.

I want a SortedMap so done: , , ...

Q: How get that SortedMap starting from a Cursor thet select two columns, passing from ContentQueryMap (because the query must be cached)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薄荷→糖丶微凉 2024-11-06 05:04:28
            ContentQueryMap mQueryMap = new ContentQueryMap(cursor, BaseColumns._ID, true, null);

            Comparator<Long> numberAmaxB = new Comparator<Long>() {
                @Override public int compare(Long s1, Long s2) {
                    if (s1<s2)
                        return 1;
                    else if (s1>s2)
                        return -1;
                    else
                        return 0;
                }           
            };
            SortedMap<Long, String> mySortedMap = new TreeMap<Long, String>(numberAmaxB);

            for (Map.Entry<String, ContentValues> row : mQueryMap.getRows().entrySet()) {

                Long _ID = Long.valueOf(row.getKey());
                String data= row.getValue().getAsString("data_column");
             conversationsSortedMap.put(_ID, data);
            }

完成:conversationsSortedMap 是 SortedMap!

            ContentQueryMap mQueryMap = new ContentQueryMap(cursor, BaseColumns._ID, true, null);

            Comparator<Long> numberAmaxB = new Comparator<Long>() {
                @Override public int compare(Long s1, Long s2) {
                    if (s1<s2)
                        return 1;
                    else if (s1>s2)
                        return -1;
                    else
                        return 0;
                }           
            };
            SortedMap<Long, String> mySortedMap = new TreeMap<Long, String>(numberAmaxB);

            for (Map.Entry<String, ContentValues> row : mQueryMap.getRows().entrySet()) {

                Long _ID = Long.valueOf(row.getKey());
                String data= row.getValue().getAsString("data_column");
             conversationsSortedMap.put(_ID, data);
            }

Done: conversationsSortedMap is the SortedMap!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文