Ссылки иногда не работают в WebView - PullRequest
0 голосов
/ 07 января 2011

Иногда ссылки в WebView не будут отвечать.Вокруг них появится цвет подсветки, но ничего не происходит.Я также использую WebViewClient shouldOverrideUrlLoading, и эта функция не вызывается, когда это происходит.

Edit:

Я сузил эту проблему до следующих обстоятельств:

  • Веб-страница является первой страницей, которую открывает WebView.
  • Веб-страница использует атрибут meta name = "viewport" в заголовке html
  • WebView использует WebView.getSettings () .setUseWideViewPort (true);
  • Android 2.1 (в более поздних версиях этого не происходит, тестирование не проводилось ранее)

Если открыта веб-страница, соответствующая перечисленным выше, нетссылки будут работать.Если загружена другая похожая страница, эти ссылки также не будут работать.Только когда вы загрузите страницу без мета name = "viewport", ссылки начнут работать.После того, как страница без этого мета-атрибута открыта, а затем вы загружаете страницу с атрибутом мета-области просмотра, ссылки начинают работать.

Ответы [ 2 ]

0 голосов
/ 05 января 2012

Просто продолжение этой проблемы: решение для меня не сработало.Но я setLongClickable установил false на WebView, и он полностью остановил WebView, чтобы реагировать на сенсорные события, но только на Android 2.1.

Удаление строки:

webview.setlongclickable(false); 

сделало WebView отзывчивым и снова заработало, как и ожидалось.

0 голосов
/ 08 января 2011

Это похоже на нелепую работу, но я думаю, что это работает.При первой загрузке WebView, если вы загружаете пустой фиктивный html-файл, такой как

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...