OnClickListener и OnTouchListener

1

У меня есть 2 адаптера, расширяющих BaseAdapater. Первый адаптер (позвоните ему imageAdapter) загружает базу изображений на идентификатор, второй адаптер (pageAdapter) создает сетки изображений из первого адаптера. Я установил второй адаптер в галерею. Идея состоит в том, что я могу сортировать страницы в альбоме, где на каждом альбоме есть несколько фотографий.

Теперь я хочу, чтобы imageViews запускал клики, поэтому я установил onClickListener для каждого из изображений из образа. Проблема в том, что после того, как я установил onClickListener, я больше не могу прокручивать галерею с помощью touch/fling/scrolling на изображениях. Я думаю, что вопрос о родительском/детском событии проходит через предмет.. но я не уверен, как это исправить. Пожалуйста, помогите.

Теги:

2 ответа

2
Лучший ответ

Это дикая догадка, основанная на опыте с ListView (где один кликлайнер работал, но родительский onClickListener этого не делал), но установка onClickListener на imageViews могла бы сделать так, чтобы они убрали фокус, а теперь ваш другой события касания не регистрируются.

попробуйте установить myImageView.setFocusable(false)

Я предполагаю, что все работало, как ожидалось, до того, как вы добавили onClickListener в ImageViews.

  • 0
    Привет Аврора, все работало до того, как я установил onClickListener. На фокусе не получалось. Я попытаюсь перехватить событие касания и событие понижения ...
  • 0
    Да жаль. Как я уже сказал, дикая догадка. Удачи!
1

Я решил эту проблему, выполнив подклассификацию Gallery и переопределив onDown() и onSingleTapUp(). Я также должен реализовать метод pointToChildId() для перевода событий движения в идентификаторы элементов. =) это была намного больше работы, чем я изначально планировал, но она работает сейчас, и я вполне доволен решением.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню