У меня есть андроид listview. Я хочу изменить фон элемента списка, когда я нажимаю один элемент списка.Android listview item background change
, а затем предыдущий выбранный элемент должен вернуться к фону по умолчанию. это означает, что нужно выбрать только один элемент.
Я долго искал его. Я могу изменить фон выбранного элемента, используя onItemClick()
, но я не могу изменить предыдущий выбранный элемент. например, если я выбираю второй элемент, он был изменен. и затем я выбираю третий элемент. о мой Бог! он тоже изменился! что я могу сделать для этого. как я могу получить предыдущую позицию?
вот мой код андроид.
private class ListViewItemClickListener implements
AdapterView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
TextView title = (TextView) view.findViewById(R.id.title);
title.setBackgroundResource(R.drawable.list_shape);
}
}
Hi Selvin. Это решит то, что спросил ОП. Проблема фона представления, повторно применяемого к каждому видимому списку, является отдельной проблемой и вызвана исходным методом. – sturrockad
Нет, это не будет ... Потому что listview - это повторное использование элементов! Если элемент «выбрать» прокручивает этот элемент из видимых элементов 1. Некоторые другие элементы могут быть «выбраны» 2. Если вы сделаете этот элемент прокруткой назад к видимым элементам, этот элемент может быть выбран не заново! Конец истории – Selvin
Да, но это отдельная проблема. Пользователь спросил, как отменить выбор предыдущего элемента при выборе нового элемента, который отвечает на мой ответ. Я считаю, что ваш комментарий относится к вопросу :) – sturrockad