Bouton de retour pour la page précédente sur android webview ne fonctionne pas
Je suis en train de remplacer le bouton de retour, de sorte qu'il va revenir à la page précédente mais il quitte l'application. Ici;s le code.. s'il vous plaît dites-moi où vais-je tort.
package com.example.thebase;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.KeyEvent;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
public class MainAccelerometer extends Activity implements AccelerometerListener{
WebView myWebView;
//Back Button Code
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(event.getAction() == KeyEvent.ACTION_DOWN){
switch(keyCode)
{
case KeyEvent.KEYCODE_BACK:
if(myWebView.canGoBack() == true){
myWebView.goBack();
}else{
finish();
}
return true;
}
}
return super.onKeyDown(keyCode, event);
}
//--------------------
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.accelerometer_example_main);
//ENABLING JAVASCRIPT CODE
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
//WEBVIEW CODE
myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.pingcampus.com/greedy/get_category.php");
//WebView client
myWebView.setWebViewClient(new HelloWebViewClient());
//Back Button
//------
};
//rest of the code
C'est une mauvaise question.
Double Possible de Comment faire pour revenir à la page précédente si la touche est pressée dans WebView?
Double Possible de Comment faire pour revenir à la page précédente si la touche est pressée dans WebView?
OriginalL'auteur Arihant | 2013-11-25
Vous devez vous connecter pour publier un commentaire.
Vous avez
onBackPressed()
méthode pour remplacer au lieu deonKeyDown()
. RemplaceronKeyDown()
aveconBackPressed()
comme ci-dessous:MODIFIER
Également vérifier 3ème ligne dans votre onCreate()
Vous déclarez
myWebView
comme variable locale à nouveau et une variable globale n'est pas instancié qui est en train de jeterNullPointerException
et bloque l'application.Donc changer le 3e ligne de code comme ci-dessous:
Si le bloc de code ci-dessus entrent dans le onCreate ou à l'extérieur?
en dehors de onCreate()
Je n'ai coller à l'extérieur de la onCreate mais comme je l'ai appuyer sur le bouton de retour, l'application donne une erreur en disant: "Malheureusement, cela s'est arrêté"
vérifier mon montage
OriginalL'auteur TNR
Pas besoin de vérifier pour
ACTION_DOWN
. Juste:ou alternativement, au lieu de
onKeyDown()
vous pouvez remplaceronBackPressed()
:c'est régulier méthode de la classe et doit aller à l'extérieur pour d'autres méthodes (vous ne pouvez pas le faire à l'intérieur de toute façon)
OriginalL'auteur Marcin Orlowski