Как получить SortedMap из ContentQueryMap? - PullRequest
0 голосов
/ 06 апреля 2011

К кэш результат курсора, я использую ContentQueryMap.

Дело в том, что я думаю, что для каждого ContentQueryMap я могу получить только один столбец запроса ..Но я не уверен в этом.

Предположим, что курсор возвращает 2 столбца: ключ, значение.

Я хочу, чтобы SortedMap был сделан:,, ...

Q: Как получить, чтобы SortedMap, начиная с курсора, выбирал два столбца, передавая из ContentQueryMap (поскольку запрос должен быть кэширован)?

1 Ответ

0 голосов
/ 06 апреля 2011
            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);
            }

Готово: разговорСортированная карта - это SortedMap!

...