Разделение элементов списка с общими данными столбца в Android? - PullRequest
0 голосов
/ 07 августа 2011

Я немного новичок в Android, но насколько я знаю, если я хочу связать свою базу данных с представлением списка с пользовательской строкой, мне нужно переопределить CursorAdapter.Тем не менее, я не могу начать работать над этим из-за функции, которую я хочу реализовать в моем представлении списка: я не только хочу представить мой список, упорядоченный в соответствии с возрастающим значением дат, я также хочу иметь два отдельных разделав моем списке, которые отсортированы по датам, но с использованием одного и того же курсора (если это вообще возможно).

Упрощенная версия моей схемы может выглядеть так: _ID, NAME, DATE, TRUTH_VALUE

Мое представление по умолчанию состоит в том, чтобы результирующие строки курсора сортировались по дате, но я также хочу «фильтровать» или создавать из курсора разделы, разделенные в соответствии с «TRUTH_VALUE», что означает, что у меня может быть раздел 1 в моемсписок содержит элементы с произвольным значением 0 в «TRUTH_VALUE», которые отсортированы по дате, а раздел 2 содержит элементы, столбцы TRUTH_VALUE которых являются произвольными 1 и также отсортированы по дате.

Я могукажется, не найти какой-либо адаптер, или что-то еще, что может принять два курсора (чтозатем превращаются в один отфильтрованный ListView), и я не рассматриваю возможность добавления некоторых дополнительных параметров в конструктор моего настраиваемого адаптера (например, при создании экземпляра моего адаптера, я включаю значение в параметр, который помогает адаптеру определить, может ли он просто изменить способ, которым онсвязывает данные курсора, что я считаю невозможным или просто сложным;не говоря уже о проблемах с производительностью).

Заранее спасибо!

1 Ответ

0 голосов
/ 07 августа 2011

Что, если ваш SQL-запрос был:

SELECT _id, name, date, truth_value FROM table_name ORDER BY truth_value, date

Это должно упорядочить элементы так, как вы хотите.Затем в вашем CursorAdapter вы можете проверить значение true_value, а когда оно изменится, сделать что-то другое.Хотя я не совсем уверен, чего именно вы пытаетесь достичь с помощью макета.

...