Подтвердить что ты не робот

Ссылка должна быть открыта в том же веб-браузере в 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, на этом этапе его открытие в мобильном браузере, пожалуйста, дайте мне подходящее решение.. Благодарю.

4b9b3361

Ответ 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);
      }
});