У меня есть веб-представление в моем приложении для Android, которое загружает строку HTML с помощью loadDataWithBaseURL () метод. Проблема состоит в том, что локальная привязка связывается (<a href="#link">
...) не работают правильно. Когда на ссылку нажимают, это становится выделенным, но не прокручивает к соответствующей привязке.
Это также не работает, если я использую loadUrl WebView () метод для загрузки страницы, которая содержит ссылки привязки. Однако, если я загружаю тот же URL в браузере, ссылки привязки действительно работают.
Там какое-либо специальное предложение обрабатывает требуемый заставить их работать на веб-представление?
Я использую API v4 (1.6).
Нет очень к коду, вот соответствующие части некоторого тестового кода, с которым я работал:
WebView detailBody = (WebView) findViewById(R.id.article_detail_body);
String s = "<a href=\"#link\">LINK!</a><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><a name=\"link\"></a>Testing!";
detailBody.loadDataWithBaseURL(API.HomeURL(this), s, "text/html", "utf-8", "");
Похоже, что проблема в том, что у меня был WebView внутри ScrollView. При такой конфигурации WebView не может прокручиваться до ссылки с якорем. После рефакторинга моего макета для устранения ScrollView якорные ссылки работают правильно.
try this
String myTemplate = "<a href=\"#link\">LINK!</a><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><a name=\"link\"></a>Testing!";
myWebView.loadDataWithBaseURL(null, myTemplate, "text/html", "utf-8", null);
слово "Testing!" должно находиться за пределами экрана, чтобы увидеть, что оно работает.