2010-06-26 3 views

답변

141

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

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

+0

답장을 보내 주셔서 감사합니다. 사용자가 datepicker에서 취소 버튼을 누르면 어떻게되는지 설정하려고합니다. 처음에 나는 닫는 청취자를 사용해 보았습니다. 그리고 그것은 효과적 이었지만, 사용자가 시간을 선택했다면 일어났습니다. 그런 다음 취소 청취를 시도했는데 취소하지 않은 경우에도 취소되지 않았습니다. 내가 뭘해야하는지 알아? – Aal

+2

DatePickerDialog를 사용하는 경우 OnDateSetListener를 사용하여 날짜가 변경 될 때 알림을 받아야합니다. 누군가 취소 버튼을 클릭하면 호출되지 않고 대화 상자 자체가 사라집니다. DatePickerDialog를 정상적으로 사용하려면 다른 리스너를 설정할 필요가 없습니다. – Lee

22

dismiss은 보통 코드에서 명시 적으로 호출해야하는 항목으로, 보통 Dialog에있는 버튼의 클릭 이벤트에 응답해야합니다. 원할 경우 Activity에서 dismissDialog으로 전화를 걸면 이 Dialog에 있습니다.

cancel 메서드는 코드에서 명시 적으로 호출 될 때 또는 취소 가능 Dialog이 열려있을 때 사용자가 BACK 단추를 누르면 실행됩니다 (@Lee 언급 됨).

DatePicker을 사용하는 경우이 모든 경우가 계속됩니다. @Lee가 말한 것처럼 DatePickerDialog.OnDateSetListener은 사용자가 DatePicker에서 날짜를 선택했을 때를 감지합니다.

Android Developer ReferenceDialog에 대한 자세한 정보를 제공합니다.

관련 문제