2016-06-07 4 views
1

사이트를 탐색 할 수있는 웹보기가 있습니다. 뒤로 버튼을 클릭하면 이전 페이지로 이동하지 않고 앱을 종료합니다. 나는 다시 버튼을 누를 때마다, 당신은 그것을 무시하고 그것으로 자신의 논리를 추가 할 수 있도록, onKeyDown 이벤트를 무시 onBackPressed을 무시하지 마십시오 MainActivity.javaAndroid 웹보기 되돌아 가기 이전 페이지로 이동

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    setContentView(R.layout.activity_main); 
    WebView webview = (WebView) this.findViewById(R.id.webView); 
    if (event.getAction() == KeyEvent.ACTION_DOWN) { 
     switch (keyCode) { 
      case KeyEvent.KEYCODE_BACK: 
       if (webview.canGoBack()) { 
        webview.goBack(); 
       } else { 
        finish(); 
       } 
       return true; 
     } 
    } 
    return super.onKeyDown(keyCode, event); 
} 
+2

가능한 복제 (http://stackoverflow.com/questions [활동 버튼을 다시 처리 방법]/5312334/how-to-handle-back-in-button-in-activity) –

+0

[WebView에서 뒤로 버튼을 누르면 이전 페이지로 돌아가는 방법] (https://stackoverflow.com/q/6077141)/6521116) –

답변

15

나는 당신이 당신의 활동 OnBackPressed를 오버라이드 (override) 할 필요가 생각 :

@Override 
public void onBackPressed() { 
    if (webView.canGoBack()) { 
     webView.goBack(); 
    } else { 
     super.onBackPressed(); 
    } 
} 
3

에 다음과 같은 방법을 추가했습니다. 코드는 다음과 같다 :

@Override 
public void onBackPressed() { 
    if (webView.canGoBack()) { 
     webView.goBack(); 
    } else { 
     super.onBackPressed(); 
    } 
} 
관련 문제