显示基于 HTML 标题的工具栏标题?

Showing Toolbar Title based on HTML title?

我正在尝试为 material 设计中的工具栏设置标题。在正常情况下,我知道我可以使用 mActionBarToolbar.setTitle。但是,我有一个 WebView 可以打开不同的网页。我可以设置工具栏的标题,它会根据 HTML 页面中的 <title></title> 部分自动更改吗?

我尝试使用下面的代码,但标题变成空的。

mToolbar = (Toolbar) findViewById(R.id.toolbar);

        setSupportActionBar(mToolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        webView = (WebView) findViewById(R.id.webView);
        url = getIntent().getExtras().getString("url");
        webView.loadUrl(url);
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                mToolbar.setTitle(view.getTitle());
            }
        });

是的,使用WebView.getTitle()方法获取当前页面的标题

同样要自动更改标题,您可以使用[WebViewClient.onPageFinished(android.webkit.WebView view, java.lang.String url)](https://developer.android.com/reference/android/webkit/WebViewClient.html#onPageFinished(android.webkit.WebView, java.lang.String))

这样设置:

WebView browser = (WebView)findViewById(R.id.browser);
browser.setWebViewClient(new WebViewClient() {  
    @Override  
    public void onPageFinished(WebView view, String url)  
    {  
        mActionToolbar.setTitle(view.getTitle()); 
    }  
});