Как инициализировать представление списка, где некоторые элементы могут быть вычеркнуты?
Есть список Strings
допустим { "1", "2", "3" }
Когда используешь ArrayAdapters
Я знаю, как добавить эти строки в ListView
, Я также знаю, как вычеркнуть некоторые предметы при нажатии, используя OnItemClick
,
Чего я не понимаю, так это как вычеркивать предметы при заполнении списка. В основном, когда ListView
грузы, некоторые предметы должны быть вычеркнуты, а некоторые нет.
Я играл с getAdapter
а также notifyDataSetChanged
но безрезультатно.
Как бы я поступил так? Информация в интернете не так хороша.
2 ответа
Что вы подразумеваете под "когда список заполняется"?
Я бы использовал такую функцию всякий раз, когда я добавляю новый элемент в список:
public void addItemToList(String item, boolean shouldStrike) {
if (shouldStrike) {
item = "<strike>" + item + "</strike>";
}
items.add(item);
adapter.notifyDataSetChanged();
}
Вы не используете строки. Вы используете массив объектов
public static class Item {
String value;
boolean isStruckOut;
}
И зачеркивание или нет на основе логического значения в каждом индексе. Это также потребует от вас использовать специальный адаптер.