0

프래그먼트 내에서 webview를 만들었지 만 뒤로 버튼을 눌러야 할 때 돌아가는 대신 응용 프로그램이 종료됩니다. 내가 원하는 것은 내가 뒤로 버튼을 누르면 되돌아 가고, 내가 이미 홈 페이지에 있다면 뒤로 버튼이 앱을 죽여야한다는 것이다.프래그먼트 내의 안드로이드 webview의 뒤로 버튼

주어진 링크에서 모든 솔루션을 사용해 보았습니다.

How to add "Go Back" function in WebView inside Fragment?

이 도와주세요. getFragmentManager를 호출하여 다시 팝업하는 가기 backstack에서 이전의 조각이있는 경우

+0

[this] (http://stackoverflow.com/a/26449424/3692099) 접근 방식으로 작동하지 않는 것은 무엇입니까? –

답변

0

당신은 활동의 onBackPressed() 메소드를 오버라이드 (override) 확인하실 수 있습니다() popBackStackImmediate() 또는에서 getSupportFragmentManager()를 popBackStackImmediate()를 아래 코드처럼 :..

@Override 
public void onBackPressed() { 
    if (!getFragmentManager().popBackStackImmediate()) { 
     super.onBackPressed();   
    } 
} 

조각 스택 트랜잭션을 백 스택에 추가하려면 commit()을 호출하기 전에 .addToBackStack (null)을 호출해야합니다.

그리고 당신은 전에 다시 이전의 단편으로 돌아가 다시 웹보기에서 탐색 한 이전 웹 페이지를 사용자에게 이동 버튼을 다시 누르하려는 경우, 당신은이 작업을 수행 할 수 있습니다

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

을하고 귀하의 웹보기를 설정 기억 webView.setWebViewClient (새 WebViewClient())를 호출하여 WebView의 모든 웹 페이지를로드합니다.

+0

심각하게 당신은 천재입니다 ... 정말 작동 ... 당신은 또한 여러 조각으로 나를 도울 수 있을까 .. 만약 내가 개별 webviews 여러 조각을 가지고 onBackPressed 사용할 수 있습니까? 또한 탐색 모음을 통해 열리고 기본 화면으로 돌아 가면 조각을 죽일 수 있습니까? –

+0

개별 웹뷰가있는 여러 조각? 모든 조각은 내부에 자체 webview가 있음을 의미합니까? 이것에 대해 더 자세히 설명해 주시겠습니까? – CodePlay

+0

프래그먼트를 닫고 뒤로 버튼을 사용하여 앱 서랍의 주요 활동으로 돌아가고 싶습니다. 그것이 가능합니다. 나는 무엇을해야합니까? 위 코드가 도움이되므로 바꿀 필요가 없습니다. –