WebView бросает Получатель не зарегистрирован: android.widget.ZoomButtonsController
Я вижу, что это исключение спорадически поднимается в моем приложении (в дикой природе).
WebView используется для отображения jpg (используя возможности масштабирования/прокрутки версии Android/устройство, а не изобретать колесо и делать все вещи отражения).
Я понятия не имею, почему это исключение в конце концов могло возникнуть. В основном я могу думать только об ошибке Android.
Что я делаю (все в графическом потоке):
- покажет миниатюру в виде предварительного просмотра
- установить getSettings(). setBuiltInZoomControls (false)
- когда загружается обычное изображение, вместо этого отобразите
- set getSettings(). setBuiltInZoomControls (true)
Почему установка/включение ZoomControls: большой палец нельзя масштабировать, так как WebView сбрасывает это значение на loadData, как только будет доступно и отображено обычное изображение. Было бы плохой пользовательский опыт.
Пример устройства:
HTC Desire @htc_wwe/htc_bravo/bravo/bravo: 2.2/FRF91/226611: ключи пользователя/релиза
У меня есть точно такое же устройство/программное обеспечение, и это никогда не случалось со мной...
Любые идеи?
С уважением,
Оливер
Ответы
Ответ 1
Я не люблю отвечать самому себе, но littleFluffyKitty не сделал (только в комментариях).
Решение находится в Как безопасно включать и отключать масштабирование WebView по мере необходимости
a) создайте свой собственный класс WebView
public class MyWebView extends WebView {
b) добавьте в него метод onDestroy():
getSettings().setBuiltInZoomControls(true);
Что это. Благодаря этому больше не появляется никаких исключений.