2016-03-26 14 views
0

Ich implementiere derzeit eine Zurück-Schaltflächenaktion zum Navigieren im Webview-Verlauf. Mein Webview funktioniert (einschließlich der Handhabung von Links im Webview). Nach dem Hinzufügen der Zurück-Schaltfläche stürzt es jedoch ab, wenn ich versuche, die Zurück-Schaltfläche zu verwenden. Dies ist mein Haupt-Aktivitätscode:Aktionsleiste Zurück-Schaltfläche stürzt in WebView ab

public class MainActivity extends Activity { 

WebView mWebView; 
//Back Button Code 
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if(event.getAction() == KeyEvent.ACTION_DOWN){ 
     switch(keyCode) 
     { 
      case KeyEvent.KEYCODE_BACK: 
       if(mWebView.canGoBack() == true){ 
        mWebView.goBack(); 
       }else{ 
        finish(); 
       } 
       return true; 
     } 

    } 
    return super.onKeyDown(keyCode, event); 
} 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(amapps.com.uhss.R.layout.activity_main); 
    WebView mWebView = (WebView) findViewById(R.id.activity_main_webview); 
    mWebView.setWebViewClient(new WebViewClient()); 

    WebSettings webSettings = mWebView.getSettings(); 
    webSettings.setJavaScriptEnabled(false); 
    mWebView = (WebView) findViewById(R.id.activity_main_webview); 
    mWebView.loadUrl("http://uhsswordandshield.com/"); 
    mWebView.getSettings().setSupportMultipleWindows(true); 



} 

Könnte mir bitte jemand sagen, was mit dem Code nicht stimmt. Ich glaube, es hat mit meinem
WebView mWebView zu tun; Erklärung, bevor ich das Webview initialisieren. Aber ich bin mir nicht sicher, wie ich mit der Navigation in der Webhistorie umgehen soll. Ich bin mir auch nicht sicher, wie ich meine Log-Katze veröffentlichen soll und was ich posten soll. Wenn mir jemand sagen könnte, welcher Teil des Logcat ich posten muss, wäre das großartig. Vielen Dank!

Antwort

0

versuchen diesen Code:

if((keyCode==KeyEvent.ACTION_DOWN)){ 

     if(mWebView.canGoBack() == true){ 
       mWebView.goBack(); 
      }else{ 
       finish(); 
      } 

     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
+0

Wo würde ich dieses – Mike

+0

setzen Wenn es aus ist, wenn die auf erstellen, wie erkläre ich mWebView oder wie kann ich es eine globale Variable machen – Mike

+0

diesen Code in onKeyDown Methode setzen statt dein Code. –