Android에서 대화 상자가 취소되거나 취소되는 것의 차이점은 무엇입니까? Android에서 대화 상자가

제목에서 알 수 있듯이 Android에서 대화 상자가 닫히거나 취소되는 것의 차이점은 무엇입니까?



답변

일반적으로 대화 상자는 작업이 완료되고 화면에서 제거 될 때 닫힙니다. 사용자가 대화 상자를 빠져 나가고 뒤로 단추를 누르면 대화 상자가 취소됩니다.

예를 들어, 화면에 표준 예 / 아니요 대화 상자가 있습니다. 사용자가 아니오를 클릭하면 대화 상자가 닫히고 아니오 값이 호출자에게 리턴됩니다. 예 또는 아니오를 선택하는 대신 사용자가 선택을 누르지 않고 뒤로를 클릭하여 대화 상자를 종료하면 대화 상자가 취소되고 호출자에게 값이 리턴되지 않습니다.


답변

dismiss은 일반적으로의 버튼에서 클릭 이벤트에 응답하기 위해 코드에서 명시 적으로 호출해야하는 것 Dialog입니다. 원하는 경우 호출 할 수 있습니다 dismissDialogActivity에 전화를 돌려 것이다, dismissDialog.

cancel메소드는 코드에서 명시 적으로 호출되거나 Dialog취소 가능 항목이 열려 있을 때 (@Lee가 지적한대로) BACK 버튼을 누를 때만 실행됩니다 .

를 사용하는 DatePicker경우이 모든 것이 여전히 그렇습니다. @Lee가 말했듯 DatePickerDialog.OnDateSetListener이 사용자가에서 날짜를 선택한 시점을 감지합니다 DatePicker.

안드로이드 개발자는 참조 에 대한 추가 정보를 제공합니다 Dialog들.


답변

Dismiss해제를 호출하면 화면에서 대화 상자가 제거됩니다. 이 메소드는 모든 스레드에서 안전하게 호출 할 수 있습니다. 대화 상자가 닫힐 때 정리를 수행하기 위해이 메소드를 대체하지 말고 대신 onStop 에서이를 구현하십시오 .

Cancel취소를 호출하면 대화 상자가 취소됩니다. 이것은 본질적으로 dismiss () 호출과 동일 하지만 DialogInterface.OnCancelListener 도 호출합니다. 등록 된 경우 .

Hide 이 방법은 대화 상자를 숨기지 만 닫지 마십시오.

자세한 내용은 여기를 참조 하십시오


답변