Android Navigation 구성 요소를 사용하고 있습니다.
내 HomeFragment 안에 OnBackPressedCallback
OnBackPressedCallback callback = new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
doStuff();
Navigation.findNavController(view).navigateUp();
}
};
requireActivity().getOnBackPressedDispatcher().addCallback(this, callback);
문제는 navigateUp
응용 프로그램을 닫지 않는다는 것입니다.
스택을 꺼내려고했지만 아무것도 바뀌지 않았습니다.
어떻게해야합니까?
감사합니다
당으로 navigateUp()
문서 와 popBackStack()
문서 , 모두 반환 boolean
나타내는 값을 :
true
스택이 팝되고 사용자가 다른 목적지로 이동 한false
경우
NavController는 자체 백 스택 (즉, 백 스택에 넣은 대상) 만 제어하며 액티비티 백 스택을 포함하거나 작동하지 않습니다.
뒤로 버튼을 눌렀을 때 항상 활동을 끝내고 싶다면 직접 호출하는 requireActivity().finish()
것이 올바른 방법입니다.
그렇지 않으면, 당신은 조건부로 호출해야 requireActivity().finish()
하는 경우에만 popBackStack()
/ navigateUp()
NavController 백 스택에 다른 아무것도 당신의 기호가 있다고 당신은 다시 스택을 직접 처리 할 필요가 - 반환 거짓을.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다