Programing

AlertDialog에 비해 DialogFragment의 장점

lottogame 2020. 12. 25. 08:48
반응형

AlertDialog에 비해 DialogFragment의 장점


이 질문에 이미 답변이 있습니다.

Android 앱을 개발할 때 경고 및 확인을 표시 DialogFragment하는 AlertDialog직접 사용하는 대신 사용 하는 것이 좋습니다 .

예를 들어 DialogFragment의 문서에서 수행됩니다. http://developer.android.com/reference/android/app/DialogFragment.html

사람들은 또한 이것을 선호한다고 말합니다 : Android DialogFragment vs Dialog

코드가 더 복잡해 지므로이 접근 방식의 장점을 알고 싶습니다.

감사


대화 상자 위에 DialogFragment 사용 :


  • API 레벨 13 도입 이후 :

    Activity showDialog 메소드는 더 이상 사용되지 않습니다 . 대화 상자를 직접 관리해야하므로 코드의 다른 곳에서 대화 상자를 호출하는 것은 권장되지 않습니다 (예 : 방향 변경). showDialog를 사용하지 않으면 가끔 예외가 발생하며 대화 상자는 어떤 활동에도 연결되지 않습니다.

    showDialog에 대한 참고 :

    대화 참조 : 활동은 대화의 생성, 저장 및 복원을 관리하는 기능을 제공합니다. onCreateDialog (int), onPrepareDialog (int, Dialog), showDialog (int) 및 dismissDialog (int)를 참조하십시오. 이러한 메서드를 사용하는 경우 getOwnerActivity ()는이 대화 상자를 관리 한 활동을 반환합니다.

  • DialogFragment와 AlertDialog의 차이점

    질문을 읽을 때 떠오르는 한 가지. 너무 많이 다른가요? DialogFragment는 그것은 단지 조각 내부에 싸여있는 대화에 매우 유사하다. DialogFragment에 관한 Android 참조 :

    DialogFragment는 활동 창 위에 떠있는 대화 창을 표시하는 조각입니다. 이 조각에는 조각의 상태에 따라 적절하게 표시되는 Dialog 개체가 포함되어 있습니다. 대화 상자의 제어 (표시, 숨기기, 닫기시기 결정)는 대화에서 직접 호출하는 것이 아니라 여기 에서 API를 통해 수행해야합니다 .

  • 기타 참고 사항

    • 프래그먼트는 화면 크기가 다른 기기의 다양성으로 인해 Android 프레임 워크에서 자연스러운 진화입니다.
    • DialogFragments 및 Fragments는 현재 사용되는 모든 Android 버전에서 클래스를 사용할 수 있도록 지원 라이브러리에서 사용할 수 있습니다.

이것은 쉬워요.
DialogFragment는 조각입니다. 그렇다면 조각은 다른 개체가 제공 할 수없는 동안 무엇을 제공 할 수 있습니까?
라이프 사이클 콜백입니다.
따라서 DialogFragment를 사용하면 매우 강력하고 코드를 훨씬 깔끔하게 만들 수 있습니다.
활동이 파괴 될 때 대화 상자를 닫지 않은 경우 창 누수를 본 적이 있습니까? 이를 방지하기 위해 onPause ()가 호출되었을 때 대화 상자를 닫으려고 한 적이 있습니까? 그러기 위해 그 대화 상자를 클래스 수준 객체에 참조해야했던 적이 있습니까?
DialogFragment를 사용하면 모두 처리됩니다.
그리고 모든 라이프 사이클 콜백을받습니다.
그런 다음 대화에 더 많은 인텔리전스를 제공하고 활동이 수행 할 작업을 알리는 대신 자체적으로 스마트 작업을 수행하도록 할 수 있습니다.

참조 URL : https://stackoverflow.com/questions/13765127/dialogfragment-advantages-over-alertdialog

반응형