从setWebViewClient获取网页标题?

时间:2012-07-10 06:12:33

标签: java android

我在我的Android应用程序中使用webview。 我想获得webview中显示的当前页面的标题。 我正在使用以下代码来做到这一点

webView.setWebViewClient(new WebViewClient(){
    public void onPageFinished(WebView view, String url) {
        TextView t=(TextView)findViewById(R.id.title); 
        t.setText(view.getTitle());
    }
}

此代码有效,但并非总是如此。 有时它没有显示标题。 有时它会显示上一页的标题。 这有什么不对吗?

2 个答案:

答案 0 :(得分:7)

WebChromeClient会比WebViewClient

更快地为您提供网页标题
webview.loadUrl("https://www.google.co.in/");
webview.setWebChromeClient(new WebChromeClient() {
    @Override
    public void onReceivedTitle(WebView view, String sTitle) {
        super.onReceivedTitle(view, sTitle);
        if (sTitle != null && sTitle.length() > 0) {
            title.setText(sTitle);
        } else {
            title.setText("Web Page");
        }
    }
});

答案 1 :(得分:2)

检查此代码,获取网页标题

webview.loadUrl("https://www.google.co.in/");
webview.setWebViewClient(new WebViewClient() {
    public void onPageFinished(WebView view, String url) {
        String name = webview.getTitle();
        Log.v("Title",name);
    }
});