Java Android Webview,使用锚定
我正在使用Java Android Webview,使用锚定,java,android,anchor,android-webview,Java,Android,Anchor,Android Webview,我正在使用loadDataWithBaseURL()函数从数据库将网页加载到webview中,并尝试随后跳转到锚定点。当我在使用loadUrl()-函数的webview下方放置一个按钮时,它会很好地跳转到定位点。但是如果我将loadUrl()放在loadDataWithBaseURL()后面,它会说找不到页面 webview.loadDataWithBaseURL("app:myhtml", data, "text/html", "UTF-8", null); webview.loadUrl("
loadDataWithBaseURL()
函数从数据库将网页加载到webview中,并尝试随后跳转到锚定点。当我在使用loadUrl()
-函数的webview下方放置一个按钮时,它会很好地跳转到定位点。但是如果我将loadUrl()
放在loadDataWithBaseURL()
后面,它会说找不到页面
webview.loadDataWithBaseURL("app:myhtml", data, "text/html", "UTF-8", null);
webview.loadUrl("app:myhtml#tips");
我假设这是因为加载尚未完成,因此它找不到锚,但我尝试了一个循环,等待它getProgress()
等于100,并在该命令执行之前验证它是否达到100,但它仍然找不到页面,除非它与按钮单击关联
关于如何从数据库加载页面,然后同时跳转到锚定点的任何想法。我正在使用Android 2.1 SDK
多亏了你的帮助,我通过添加这段代码将它直接加载到我的锚中。然而,我无法在页面上滚动,它开始移动,然后快速返回。我怀疑是因为它每次都在将页面重新加载到该锚点。我对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
另外,为了确保数据已加载到工具中。它之前进入了一个无限onPageFinished循环。这与我滚动无关,只是不断加载同一页。此代码允许它加载而不会陷入循环中
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
if(url.contains("#") != true){
webview.loadUrl("app://data#tips");
}
}
});
多亏了你的帮助,我通过添加这段代码将它直接加载到我的锚中。然而,我不能在页面上滚动,我怀疑,因为它每次都会将页面重新加载到该锚点。我对Android,甚至Java都是相当陌生的,所以这可能是你建议的错误实现,但我当然希望有更多的指导。webview.setWebViewClient(新WebViewClient(){@Override public void onPageFinished(webview视图,字符串url){super.onPageFinished(webview,“app://data“”;webview.loadUrl(“”)app://data#tips");} });检查这个答案