когда setOnTouchListener установлен в webview - loadDataWithBaseURL не работает или показывает тот же старый контент - PullRequest
1 голос
/ 04 августа 2010

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

У меня есть два веб-просмотра, добавленных в видоискатель.

Добавлен setOnTouchListener для обоих веб-просмотров и использование детектора жестов для бега.

После определения направления бега я устанавливаю следующую / предыдущую страницу и затем вызываю shownext / showprevious флиппера.

Что происходит, когда веб-просмотр не отображает контент, независимо от того, что я передаю через loadDataWithBaseURL?- показывает старый контент.

Если я удаляю сенсорный слушатель (setOnTouchListener) и добавляю кнопку для навигации, то тот же процесс / логика работает.

Мой код похож на этотодин - http://pastie.org/1065119.txt

почему это происходит?кто-нибудь может мне помочь?

Ответы [ 2 ]

1 голос
/ 05 декабря 2010

В качестве альтернативы возвращайте всегда false в реализованном методе onTouch (), зарегистрированном в WebView.setOnTouchListener ().Таким образом вы изменяете поведение только для WebView, в то время как onFling () продолжает возвращать правильное значение для других представлений (например, действия в примере).

1 голос
/ 16 ноября 2010

У меня возникла та же проблема, и я обнаружил, что если я возвращаю false в методе onFling метода GestureDetector вместо того, чтобы возвращать значение true, данные в веб-просмотре обновляются при каждом пролистывании. При возврате true кажется, что он отображает только кэш данных, используемых для веб-просмотра. Надеюсь, что это поможет и с вашей проблемой.

...