WebView с shouldOverrideUrlLoading и baseURL - PullRequest
1 голос
/ 02 марта 2012

У меня есть приложение WebView в приложении и некоторые ссылки, которые являются URL-адресами. Некоторые из них не имеют baseURL, только что-то вроде "/ abc / abc"

Я хотел бы установить baseURL для всех ссылок, начинающихся с "/". Я попробовал это:

WebView wv = (WebView) findViewById(R.id.EditorialWebView);
wv.setBackgroundColor(0x00000000);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadDataWithBaseURL("", editorialBoard, "text/html", "utf-8", "");
wv.setWebViewClient(new WebViewClient()
    {
@Override
public boolean shouldOverrideUrlLoading(WebView wv, String url) {
if (url.startsWith("/")) 
    {
wv.loadUrl("http://www.mdpi.com"+url);
}  
return true;
}                      
});

Но ничего не происходит.

1 Ответ

2 голосов
/ 02 марта 2012

Попробуйте что-то вроде этого

myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient() {
  public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if(url.startsWith("/")) {
      Uri u = Uri.fromParts("http://www.domain.com", url, "");
      view.loadUrl(u);
    }
    return true;
  }
});

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...