navigateUp을 사용하여 애플리케이션을 닫는 방법

Alsora

Android Navigation 구성 요소를 사용하고 있습니다.

내 HomeFragment 안에 OnBackPressedCallback

    OnBackPressedCallback callback = new OnBackPressedCallback(true) {
        @Override
        public void handleOnBackPressed() {
            doStuff();
            Navigation.findNavController(view).navigateUp();
        }
    };

    requireActivity().getOnBackPressedDispatcher().addCallback(this, callback);

문제는 navigateUp응용 프로그램을 닫지 않는다는 것입니다.

스택을 꺼내려고했지만 아무것도 바뀌지 않았습니다.

어떻게해야합니까?

감사합니다

Ianhanniballake

당으로 navigateUp()문서popBackStack()문서 , 모두 반환 boolean나타내는 값을 :

true스택이 팝되고 사용자가 다른 목적지로 이동 한 false경우

NavController는 자체 백 스택 (즉, 백 스택에 넣은 대상) 만 제어하며 액티비티 백 스택을 포함하거나 작동하지 않습니다.

뒤로 버튼을 눌렀을 때 항상 활동을 끝내고 싶다면 직접 호출하는 requireActivity().finish()것이 올바른 방법입니다.

그렇지 않으면, 당신은 조건부로 호출해야 requireActivity().finish()하는 경우에만 popBackStack()/ navigateUp()NavController 백 스택에 다른 아무것도 당신의 기호가 있다고 당신은 다시 스택을 직접 처리 할 필요가 - 반환 거짓을.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Docker를 사용하여 애플리케이션을 배포하는 방법

SQLPLUS를 사용하여 APEX 애플리케이션을 가져 오는 방법

OpenStack 용 애플리케이션을 개발하는 방법

OpenStack 용 애플리케이션을 개발하는 방법

iPad 용 애플리케이션을 디자인하는 방법

xcool 창 양식을 닫는 동안 전체 애플리케이션 닫기를 중지하는 방법

SSO 옵션 SAML을 사용하여 Azure AD에 애플리케이션을 추가하는 방법

Google 애플리케이션 이름을 변경하는 방법

기존 ASP.net 콘솔 애플리케이션을 사용하여 Android 및 iOS 애플리케이션을 빌드하는 방법

Python 애플리케이션 용 rpm을 만드는 방법

C # mvc 애플리케이션 용 Dockerfile을 만드는 방법

C # mvc 애플리케이션 용 Dockerfile을 만드는 방법

Nuxtjs 애플리케이션에서 이모티콘을 사용하는 방법

Tomcat API를 사용하여 애플리케이션 내부에서 웹 애플리케이션을 다시 시작하는 방법이 있습니까?

URL 체계를 사용하여 Xamarin iOS의 내 애플리케이션에서 다른 애플리케이션을 여는 방법

Flutter를 사용하여 모바일 애플리케이션에서 Whatsapp 애플리케이션을 여는 방법

Webpack을 사용하여 AngularJS 애플리케이션 (1.x)에서 TypeScript를 사용하는 방법

Next.js를 사용하여 React 애플리케이션에서 Google 글꼴을 사용하는 방법

C # wpf 애플리케이션을 사용하여 이미지를 스트리밍하는 방법

루핑 기능을 사용하여 Python Kivy 애플리케이션을 업데이트하는 방법

Windows Installer 기술을 사용하여 배포 된 WPF 애플리케이션을 업데이트하는 방법

netmiko와 django 애플리케이션을 연결하는 방법

TestFairy ionic 2 애플리케이션을 추가하는 방법

Java 애플리케이션을 디버그하는 방법

Spark Scala 애플리케이션을 패키징하는 방법

대형 AngularJS 애플리케이션을 구성하는 방법

자바 웹 애플리케이션을 구축하는 방법

Go 웹 애플리케이션을 배포하는 방법

Roku 애플리케이션을 테스트하는 방법

TOP 리스트

  1. 1

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  2. 2

    std :: regex의 일관성없는 동작

  3. 3

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  4. 4

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  5. 5

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  6. 6

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  7. 7

    Ionic 2 로더가 적시에 표시되지 않음

  8. 8

    Seaborn에서 축 제목 숨기기

  9. 9

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  10. 10

    복사 / 붙여 넣기 비활성화

  11. 11

    ArrayBufferLike의 typescript 정의의 깊은 의미

  12. 12

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  13. 13

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

  14. 14

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  15. 15

    PRNG 기간보다 순열이 더 많은 목록을 무작위로 섞는 방법은 무엇입니까?

  16. 16

    C # HttpWebRequest 기본 연결이 닫혔습니다. 전송시 예기치 않은 오류가 발생했습니다.

  17. 17

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  18. 18

    잘못된 구성 개체입니다. Webpack이 Angular의 API 스키마와 일치하지 않는 구성 개체를 사용하여 초기화되었습니다.

  19. 19

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  20. 20

    R의 마침표와 숫자 사이에 문자열 삽입

  21. 21

    Assets의 BitmapFactory.decodeStream이 Android 7에서 null을 반환합니다.

뜨겁다태그

보관