Можно ли узнать в ListView, если элемент нажат/тронут (но не нажат) и знать, какой?
Я пробовал с «OnTouchListener», но безуспешно (я могу перехватывать события UP и Down в ListView, но не в элементах).
Я также пробовал «OnItemLongClickListener», но мне приходится ждать, когда мне нужна информация немедленно.
У вас есть идея?
Заранее спасибо.
Изменить (решение):
Я поместил следующий код в свой адаптер в представлении элемента.
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
image.setImageResource(R.drawable.image2);
}
else if (event.getAction() == MotionEvent.ACTION_UP) {
image.setImageResource(R.drawable.image1);
}
return true;
}
});
И теперь, когда я касаюсь элемента, картинка становится «изображение2», а когда я не касаюсь экрана, она возвращается к «изображению1».
Но есть проблема, если я нажимаю элемент (изображение2 отображается хорошо), и я перемещаю палец в представлении списка, и я не касаюсь экрана, он остается включенным для изображения2, «MotionEvent.ACTION_UP» не может быть выполнен. У вас есть идеи, как это сделать, как только я не касаюсь экрана, он должен вернуться на изображение1?
Спасибо за помощь.