Ссылка должна быть открыта в том же веб-браузере в Android
Я новичок в Android, и я пытаюсь открыть ссылку в webview с помощью этого кода.
WebView myWebView = (WebView) findViewById(R.id.webinfo);
myWebView.loadUrl("http://oslobokfestival.netteam.no/artical.php?articalid=93");
myWebView.setBackgroundResource(R.drawable.lbg);
myWebView.setBackgroundColor(Color.TRANSPARENT);
myWebView.getSettings().setJavaScriptEnabled(true);
и на этой странице HTML есть некоторые ссылки, и я хочу, чтобы при щелчке по этой ссылке, которая должна открываться в том же webview,
на этом этапе его открытие в мобильном браузере, пожалуйста, дайте мне подходящее решение..
Благодарю.
Ответы
Ответ 1
Вам нужно добавить WebViewClient в свой WebView, чтобы открыть его в WebView. Что-то вроде
myWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return false;
}
});
Ответ 2
Попробуйте удалить @Override и поставить его после loadurl
Эта работа для меня...
myWebView.loadUrl("http://someurl.com");
myWebView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView viewx, String urlx) {
viewx.loadUrl(urlx);
return false;
}
});
Ответ 3
Переопределить метод shouldOverrideUrlLoading WebViewClient следующим образом:
myWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.toString());
return true;
}
});
и добавьте этот тег <uses-permission android:name="android.permission.INTERNET" />
в файл манифеста. Чтобы получить доступ к Интернету
Ответ 4
Для меня его работы просто перекрываются
shouldOverrideUrlLoading
и
return super.shouldOverrideUrlLoading(view, request)
который будет обрабатывать все ссылки в одном и том же WebView
.
webview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
return super.shouldOverrideUrlLoading(view, request);
}
});