Как инициализировать представление списка, где некоторые элементы могут быть вычеркнуты?

Есть список 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;
}

И зачеркивание или нет на основе логического значения в каждом индексе. Это также потребует от вас использовать специальный адаптер.

Другие вопросы по тегам