Onclicklistener ведет себя странно после прокрутки в ScrollView

У меня есть много ImageViews, установленных с помощью OnClickListeners. Они выходят за пределы экрана, содержащиеся в ScrollView. При прокрутке вниз и нажатии на ImageView, который ранее находился за пределами экрана, onClick(View view), похоже, не выполняется до второго щелчка. В остальном ведет себя нормально.

Моя активность реализует OnClickListener и использует переопределенный onClick (представление просмотра).

Что происходит? Это проблема, связанная с сенсорным режимом?

Спасибо!

ОБНОВЛЕНИЕ. Проблема, с которой я столкнулся, похожа на этот отчет об ошибке: http://code.google.com/p/android/issues/detail?id=11357. Работает, как задумано, в Eclair, а не в Froyo.


person jeffh    schedule 21.10.2010    source источник
comment
Я тоже сталкиваюсь с той же проблемой. Это происходит в 2.2. Не могли бы вы сообщить мне, нашли ли вы решение для этого?   -  person Ingrid Cooper    schedule 17.04.2013


Ответы (1)


Первый щелчок, вероятно, устанавливает фокус на ваше изображение, а второй фактически щелкает его. Вероятно, это происходит из-за того, что при прокрутке фокус переходит на вид прокрутки. Я не уверен, но вы можете попробовать установить focusable(false) в прокрутке. Я не уверен, что это испортит прокрутку.

person Falmarri    schedule 21.10.2010
comment
Хорошая мысль о фокусируемости. К сожалению, как setFocusable(false), так и setFocusableInTouchMode(false) не решили проблему. - person jeffh; 21.10.2010
comment
Реализует ли ваш вид прокрутки какие-либо методы онтач? - person Falmarri; 21.10.2010
comment
Я использую GestureDetector и View.OnTouchListener для захвата движения onFling(). ViewFlipper используется для переключения между ScrollViews. Странное поведение существует с ним и без него. Спасибо за продолжение! - person jeffh; 21.10.2010