Я пытаюсь установить заголовок для панели инструментов в Material Design. В обычном случае я знаю, что могу использовать mActionBarToolbar.setTitle. Однако у меня есть WebView, который открывает различные веб-страницы. Возможно ли установить заголовок для панели инструментов, который будет автоматически меняться в соответствии с разделом в HTML-странице?

Я попытался использовать приведенный ниже код, но заголовок стал пустым.

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

Ответы (1)

Да, используйте метод 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()); 
    }  
}); 

2022 WebDevInsider