2016年5月7日 星期六

android 從字串載入到webview顯示,再跳到anchor點

mString是含html格式的字串(可以不必加表頭 html body head等)

webview.getSettings().setJavaScriptEnabled(false);

//先在需要的地方載入字串到webview
//myhtml是任意取的名字
webview.loadDataWithBaseURL("app://myhtml", mString, "text/html", "UTF-8", "");


    @Override    public void onStart() {

        super.onStart();

        webview.setWebViewClient(new WebViewClient() {
            @Override
//在onPageStarted加一個boolean值 isShowPage判斷是否已跳到anchor點
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                super.onPageStarted(view, url, favicon);
                isShowPage = false;
            }

            @Override//在onPageFinished網頁已載入完成,再跳到anchor點, 
//跳到anchor點後,將isShowPage設為true, 否則會形成loop一直重覆跳到anchor點
            public void onPageFinished(WebView view, String url) {
                if (!isShowPage) {
//aaa是mSring字串內的anchor點的名字
                    webview.loadUrl("app://myhtml#aaa");
                    isShowPage = true;
                }
            }
        });
    }

  © Blogger templates Psi by Ourblogtemplates.com 2008

Back to TOP