Форматирование содержимого ListView во время метода onCreate () (получение дочерних элементов ListView) - PullRequest
0 голосов
/ 19 марта 2011

Я использую ListActivity, который заполняет базу данных.

В зависимости от информации, хранящейся в записи, я хочу отформатировать строку в listView.Например, у меня есть логическое поле coulmn, которое указывает, была ли текущая запись «помечена», и если да, то я хочу установить флаг форматирования зачеркивания на одном из текстовых представлений внутри строки списка.

Я думал, что смогу сделать это, получив ListView из ListActivity и затем получив представление, которое я хочу изменить, используя метод getChildAt (), а затем накачав и отформатировав представление по мере необходимости.Однако на данный момент в объекте нет дочерних элементов, и я не могу найти другой способ получения отдельных представлений.

Сейчас я пытаюсь использовать следующий код, но два текстовых представления, которые я пытаюсь раздуть, приходятназад как ноль.Код находится во внутреннем классе 'ShoppingList', который является ListActivity, поэтому, вероятно, что-то не так с тем, как я вызываю метод getView ().

for (int i = 0; i < adapter.getCount(); i++)
             {
                 View thisView = adapter.getView(i, ShoppingList.this.getListView().getRootView(), ShoppingList.this.getListView());
                // inflate views
                TextView view_item_name = (TextView) thisView.findViewById(R.id.view_item_name);
                TextView view_item_checked = (TextView) thisView.findViewById(R.id.view_item_checked);
             }

1 Ответ

3 голосов
/ 19 марта 2011

Это то, для чего предназначен адаптер. :) Метод getView вашего адаптера (или если вы работаете с CursorAdapter, newView и bindView) - это то место, где вы должны отформатировать представление для элемента на основе данных, представляемых до его представления. показано в списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...