Загрузка вложенных записей для каждого элемента в просмотре списка - PullRequest
0 голосов
/ 16 ноября 2011

Я создаю приложение, в котором пользователь может регистрировать простые транзакции, подобные расписанию, в список.Я сделал это с помощью списка, который связан с запросом sqlite с пользовательским потомком CursorAdapter.Пока это работает хорошо.

Что я пытаюсь сделать дальше, это позволить пользователю добавлять любое количество «тегов» к отдельной транзакции (подумайте над ярлыками против писем в gmail).У меня есть таблица «многие многие отношения», чтобы связать теги с транзакциями, но я не уверен, как изменить существующие представления списка и расположение курсора, чтобы каждая отдельная запись могла загружать и отображать свои теги.

Одна вещь, которая приходит в голову, - это загрузить все данные в двухуровневую структуру объекта, а затем использовать ее в качестве источника данных для просмотра списка.Мне не нравится эта идея, потому что она, безусловно, вызовет задержку загрузки, тогда как использование CursorAdapter, кажется, лучше для производительности.

То, как я намеревался отобразить теги в каждом элементе списка, было простым текстом, линейно вдоль нижней части строки разными цветами, используя Html.fromHtml ().У меня уже есть эта часть работы, поэтому я надеялся придерживаться существующего списка (если это возможно).Моя проблема заключается в том, чтобы найти лучший и наиболее эффективный способ извлечения тегов из БД и сделать их доступными для каждой строки в просмотре списка.

Я очень новичок в Android - есть ли умный способсделать это или это будет ручное упражнение?

1 Ответ

0 голосов
/ 16 ноября 2011

Там нет ярлыка для этого.Вам нужно будет создать View, создав подклассы LinearLayout, RelativeLayout или что угодно.В вашем классе View предоставьте открытый метод, такой как 'setTag (tag)', который принимает аргумент относительно того, какой тег устанавливать для соответствующих данных.В вашем View должно быть какое-то поле, которое содержит ссылку на это представление.Другими словами, где-то до того, как вы вернете свое представление в getView в вашем Adapter, вы можете связать данные с представлением, а затем изменить его состояние из View.

...