如何从ContentQueryMap获取SortedMap?

时间:2011-04-06 12:49:34

标签: java android caching cursor sortedset

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

事实是,我认为对于每个ContentQueryMap,我只能得到一个查询列...但我不确定这一点。

假设游标返回2列:key,value。

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

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

1 个答案:

答案 0 :(得分:0)

            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!