gpt4 book ai didi

java - Android Webview,与 Anchors 一起使用

转载 作者:行者123 更新时间:2023-12-01 15:40:35 25 4
gpt4 key购买 nike

我正在使用 loadDataWithBaseURL() 函数将网页从数据库加载到 webview 中,并尝试随后跳转到 anchor 。当我在使用 loadUrl() 函数的 webview 下方放置一个按钮时,它会很好地跳转到 anchor 。但是,如果我将 loadUrl() 放在 loadDataWithBaseURL() 之后,它会说找不到页面。

webview.loadDataWithBaseURL("app:myhtml", data, "text/html", "UTF-8", null);
webview.loadUrl("app:myhtml#tips");

我认为这是因为加载尚未完成,因此找不到 Anchor,但我尝试了一个循环来等待它 getProgress() 等于 100,并且有已验证在该命令执行之前它已达到 100,但它仍然找不到该页面,除非它与按钮单击相关联。

关于如何从数据库加载页面然后同时跳转到 anchor 的任何想法。我正在使用 Android 2.1 SDK。

<小时/>

感谢您的帮助,我通过添加这一点代码将其直接加载到我的 anchor 。但是我无法在页面上滚动,它开始移动然后弹回。我怀疑是因为它每次都会将页面重新加载到该 anchor 。我对 Android 甚至 Java 还很陌生,所以这可能是你建议的错误实现,但我当然希望能得到更多的指导。这是我使用的代码:

webview.setWebViewClient(new WebViewClient() {  
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(webview, "app://data");
webview.loadUrl("app://data#tips");
}
});

这似乎造成了无限循环。

最佳答案

尝试在 loadDataWithBaseURL() 中使用有效的 URL 作为基本 URL,例如 app://myhtml

此外,为了确保数据已加载,请执行 WebViewCLient.onPageFinished() .

关于java - Android Webview,与 Anchors 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8106284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com