La respuesta de Arulx Z fue exactamente lo que estaba buscando.
Estoy escribiendo una aplicación con Navigation Drawer con vista de reciclaje y vistas web, para mantener la navegación web dentro de la aplicación, independientemente de los hipervínculos en los que se haga clic (por lo tanto, no se inicia el navegador web externo). Para eso será suficiente poner las siguientes 2 líneas de código:
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
exactamente debajo de su declaración de WebView.
Aquí hay un ejemplo de mi código WebView implementado:
public class WebView1 extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView wv = (WebView) findViewById(R.id.wv1); //webview statement
wv.setWebViewClient(new WebViewClient()); //the lines of code added
wv.setWebChromeClient(new WebChromeClient()); //same as above
wv.loadUrl("http://www.google.com");
}}
de esta manera, cada enlace que se haga clic en el sitio web se cargará dentro de su WebView. (Usando Android Studio 1.2.2 con todos los SDK actualizados)
WebViewClient
y no necesita subclases si esto es todo lo que está haciendo. Conseguí que esto funcionara solo haciendomyWebView.setWebViewClient(new WebViewClient());