Study/Android
fragment의 웹브라우저 뒤로가기
Answer Choi
2015. 2. 12. 08:38
반응형
Fragment를 사용하여 webview를 만들게 되면 따로 뒤로가기를 구현해 주는 것이 좋습니다.
왜냐하면 fragment안의 webview에서 뒤로가기버튼을 누르면 먹히지가 않기 때문이죠.
하지만 버튼을 따로 구현하지 않고도 백키가 동작하게 할 수 있습니다.
- @Override
- public void onBackPressed() {
- if (webfragment.webview.canGoBack()) {
- try{
- webfragment.webview.goBack(); //only webview back-key code
- //back-key code of another fragment
- }
- }else {
- // back-key code of another fragment
- }
위의 코드는 메인 activity 안에있는 onBackPressed 입니다.
webview가 구현된 fragment안의 webview에 canGoBack 메소드를 쓰게되면 back key가 먹히게 됩니다.
try catch를 쓴 이유는 webview의 fragment가 실행이 된적이 없으면 webview가 초기화 되지않아 exception이
발생합니다. 그것을 방지하기 위해 쓴거예요.
다른 fragment에서는 else로 구현된 저부분이 실행됩니다.
반응형