- Posts del Foro: 1
4 ene. 2018 23:25:16 vía Web
4 ene. 2018 23:25:16 vía Web
Hola, como estan? desde ya gracias por leer.
Mi consulta es esta, estoy haciendo una app que carga una web con WebView, lo que quise implementar es que cuando uno toque el boton de regresar, vuelva a la pagina anterior y no me salga de la app.
Segun lei, el codigo seria este:
@Override
public void onBackPressed() {
if( MyWebViewClient != null ) {
if( MyWebViewClient.canGoBack() ) {
MyWebViewClient.goBack();
return;
}
}
return super.onBackPressed();
}
onBackPressed me figura siempre en rojo, no me deja hacer nada.
aca les dejo el codigo completo:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
// url a cargar
String url = "sitioweb";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// esconde el actionbar
getSupportActionBar().hide();
//definimos nuestro webview
WebView web = (WebView) findViewById(R.id.miVisor);
web.setWebViewClient(new MyWebViewClient());
WebSettings settings = web.getSettings();
settings.setJavaScriptEnabled(true);
web.loadUrl(url);
}
private class MyWebViewClient extends WebViewClient
{
public boolean shouldOverrideUrlLoading (WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onBackPressed() {
if( MyWebViewClient != null ) {
if( MyWebViewClient.canGoBack() ) {
MyWebViewClient.goBack();
return;
}
}
return super.onBackPressed();
}
}
}
}
Alguna sugerencia?
uso android studio 3, en una mac.
Contenido editorial recomendado
Con su consentimiento, aquí se cargan contenidos externos.
Al hacer clic en el botón anterior, acepta que se le muestren contenidos externos. En el proceso pueden transmitirse datos personales a terceros proveedores. Encontrará más información al respecto en nuestro Política de privacidad.