Изменение цвета фона элемента списка при щелчке - и его запоминание

Просто предлагая альтернативу, поскольку у меня была эта проблема, и ни один из других ответов здесь не имел желаемого эффекта, который я хотел. Поэтому вместо этого я использовал список. Теперь семантически информация, которую я выводил, можно было бы рассматривать как как табличные данные, так и перечисленные данные.

Итак, в конце концов я сделал это:

  • ... ... ... ... ...

Таким образом, в основном ul table, li - tr, а span - td.

Затем в CSS я устанавливаю элементы span как display:block; и float:left; ( Я предпочитаю эту комбинацию с inline-block, поскольку она будет работать в более старых версиях IE, чтобы очистить эффект float, см.: http://css-tricks.com/snippets/css/clear-fix/ ) и также иметь эллипсы:

span {
    display: block;
    float: left;
    width: 100%;

    // truncate when long
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

Затем все, что вы делаете, задает max-widths ваших интервалов, и это даст списку вид таблицы.

0
задан jammy mister 17 March 2019 в 21:59
поделиться

1 ответ

Если я хорошо понимаю, проблема в том, что когда вы устанавливаете фоновый рисунок элемента, а затем, к примеру, прокручиваете список и возвращаетесь на предыдущую позицию, он не помнит, что фон для этого элемента спецификаций зеленый. [ 110]

Я столкнулся с этой проблемой и легко ее решить:

Создайте список, строку для вашего имени и логическое значение (true = зеленый, false = не зеленый), создайте для нее адаптер и просто добавьте if (list.get (position) .getBoolean) {Currentitem.setBackgroundColor (0x0000FF00)}

И когда вы щелкаете по элементу, просто установите для логического значения позиции элемента значение true и вызовите notifydatasetchanged ()

0
ответ дан ImNeos 17 March 2019 в 21:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: