Soy nuevo en Android y estoy tratando de abrir un Enlace en webview el uso de este código

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

y en esta página HTML contiene algunos enlaces y quiero que cuando el usuario haga clic en el enlace debe abrir en la misma webview,
en este punto de su apertura en el navegador del móvil, por favor me dan la solución más adecuada..
Gracias.

  • Usted puede verificar este hilo que es lo mismo que lo que quieres hacer.
  • usted puede obtener la URL cuando se hace clic en la URL >>>>
InformationsquelleAutor Mahek | 2011-09-05

5 Comentarios

  1. 134

    Necesita agregar WebViewClient a su WebView para abrirlo en el WebView. Algo así como

    myWebView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            view.loadUrl(request.getUrl().toString());
            return false;
        }
    });

    • esto funciona, pero hay una manera de permitir que los vínculos que tienen target=_blank se aplica en ellos se abre en una ventana nueva??
    • Su trabajo bien, pero quiero añadir un icono en externo webview
    • shouldOverrideUrlLoading(WebView view, String url) está en desuso y que podemos utilizar shouldOverrideUrlLoading(WebView view, WebResourceRequest request) lugar.
    • getUrl() requiere de la API de nivel 21, por Lo que no podía ejecutar la aplicación en algunos dispositivos.
  2. 11

    Intentar quitar @Overrideand una ponerlo después de loadurl
    Este trabajo para mí…

    myWebView.loadUrl("http://someurl.com");
    myWebView.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView viewx, String urlx) {
            viewx.loadUrl(urlx);
            return false;
        }
    });
    • es sólo la anotación de decirle a su reemplazar un método, usted puede (y debe) mantener ahí
  3. 1

    Sustituir el método shouldOverrideUrlLoading de WebViewClient como este:

    myWebView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                view.loadUrl(request.toString());
                return true;
            }
        });

    y agregar esta etiqueta <uses-permission android:name="android.permission.INTERNET" /> en su archivo de manifiesto Para obtener acceso a la internet

  4. 1

    Para mí sus obras simplemente reemplazar

    shouldOverrideUrlLoading métodos y

    volver super.shouldOverrideUrlLoading(view, request)

    que se encargará de todos los enlaces en la misma WebView.

    webview.setWebViewClient(new WebViewClient(){
          @Override
          public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
             return super.shouldOverrideUrlLoading(view, request);
          }
    });
  5. 0
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            WebView webView = (WebView) findViewById(R.id.webView);
            WebSettings webSettings = webView.getSettings();
            webSettings.setJavaScriptEnabled(true);
            webView.loadUrl("#");
        }
    }
    • Bueno, pero poner alguna explicación para hacer la respuesta más respectiva !

Dejar respuesta

Please enter your comment!
Please enter your name here