在Android WebView中實現預加載,可以通過以下步驟進行操作:
onPageFinished()
方法。這個方法會在頁面加載完成后被調用,因此在這里可以執行一些預加載的操作。class MyWebViewClient extends WebViewClient {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
// 在這里執行預加載操作
}
}
WebView webView = findViewById(R.id.webview);
webView.setWebViewClient(new MyWebViewClient());
public class MyJavaScriptInterface {
private TextView textView;
public MyJavaScriptInterface(TextView textView) {
this.textView = textView;
}
//這個方法將被JavaScript調用
@JavascriptInterface
public void preLoadData(String data) {
textView.setText(data);
}
}
TextView textView = findViewById(R.id.textView);
webView.addJavascriptInterface(new MyJavaScriptInterface(textView), "HTMLOUT");
onPageFinished()
方法中,使用WebView的evaluateJavascript()
方法執行預加載的JavaScript代碼。@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
// 執行預加載的JavaScript代碼
view.evaluateJavascript("(function() { " +
"var data = '預加載的數據'; " +
"window.HTMLOUT.preLoadData(data); " +
"})()", null);
}
這樣,當網頁加載完成后,WebView會自動執行預加載的JavaScript代碼,并將結果顯示在指定的TextView中。這種方法可以用于預加載任何類型的數據,包括HTML、CSS、JavaScript等。