java - 从 setWebViewClient 获取网页标题?

标签 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());
    }
}

此代码有效但并非总是有效。 有时它不显示标题。 有时它显示上一页的标题。 这里有什么问题吗??

最佳答案

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");
        }
    }
});

关于java - 从 setWebViewClient 获取网页标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11407599/

相关文章:

java - 在 @PostConstruct 中调用另一个 bean 的方法引发了一个空指针 ex

java - BufferedInputStream 和 BufferedOutputstream 与 InputStream 和 Outputstream 有区别吗

java - 仅在 Android 4.3 Jellybean 中使用 ping 验证互联网连接失败

android - 标签栏布局 Activity 标签文本颜色与原色相同

java - 请建议基于 Java 的 Web 应用程序的方法

java - 指向其他类中ArrayList的指针

android - 用于 Android 操作系统索尼电视上 DIAL 的应用程序名称

android - ListView 不检查 Android 1.5 上的项目

java - 从由于服务器崩溃而停止的位置重新启动 Web 应用程序

java - 如何预先声明一个数组?