본문 바로가기
Study/Android

fragment의 웹브라우저 뒤로가기

by Answer Choi 2015. 2. 12.
반응형



Fragment를 사용하여 webview를 만들게 되면 따로 뒤로가기를 구현해 주는 것이 좋습니다. 

 

왜냐하면 fragment안의 webview에서 뒤로가기버튼을 누르면 먹히지가 않기 때문이죠.

 

하지만 버튼을 따로 구현하지 않고도 백키가 동작하게 할 수 있습니다.

 

  1. @Override
  2. public void onBackPressed() {
  3.     if (webfragment.webview.canGoBack()) {          
  4.         try{
  5.         webfragment.webview.goBack();  //only webview back-key code
  6.         }catch(Exception e){
  7.              //back-key code of another fragment
  8.         }
  9.     }else {
  10.             // back-key code of another fragment
  11.         }

 

 

위의 코드는 메인 activity 안에있는 onBackPressed 입니다.

 

webview가 구현된 fragment안의 webview에 canGoBack 메소드를 쓰게되면 back key가 먹히게 됩니다.

 

try catch를 쓴 이유는 webview의 fragment가 실행이 된적이 없으면 webview가 초기화 되지않아 exception이

 

발생합니다. 그것을 방지하기 위해 쓴거예요. 

 

다른 fragment에서는 else로 구현된 저부분이 실행됩니다.

반응형

인기글