2011-04-06 74 views
0

缓存由于使用了Cursor,我使用了ContentQueryMap。如何从ContentQueryMap获取SortedMap?

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

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

我想这样做一个SortedMap:,,...

问:怎么想出来的SortedMap从游标泰德开始选择两列,从ContentQueryMap传递(因为查询必须缓存)?

回答

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!