2016-01-01 3 views
0

Я пытаюсь установить заголовок для панели инструментов в материальном дизайне. В нормальном случае я знаю, что могу использовать mActionBarToolbar.setTitle. Однако у меня есть WebView, который откроет разные веб-страницы. Возможно ли установить панель заголовка для панели инструментов, которая автоматически изменится в соответствии с разделом <title></title> на странице HTML?Отображение заголовка панели инструментов на основе заголовка 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()); 
      } 
     }); 

ответ

2

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

спасибо. Это работает. – user2872856