사용자가 항목을 선택하려고하지만 사용자가 대신 항목을 선택하지 않고 뒤로 버튼을 클릭하도록 선택할 수있는 활동이 있습니다. 이 "항목 선택"활동은 startActivityForResult()로 시작됩니다.setResult를 RESULT_CANCELED로 명시 적으로 설정해야합니까?
두 가지가 궁금합니다. 첫째, 항목이 실제로 선택되었을 때 setResult (RESULT_OK)만으로 충분합니까? 즉, 명시 적으로 설정하지 않으면 결과가 RESULT_OK로 설정되지 않을 수 있습니까?
둘째, (초기화되지 않은) 결과에 의존하기에 충분하지 않은 경우 setResult()를 여러 번 호출 할 수 있습니다. 처음으로 결과를 RESULT_CANCELED로 "초기화"한 다음 SetResult (RESULT_OK) 사용자가 항목을 선택하고 활동을 마치기 전에? documentation에서
나는 설명서에서이 질문을 보았습니다. 내가 기술하고있는 경우는 그 활동이 "실패"하는 것이 아니다. 안드로이드 API 문서에서는 RESULT_CANCELED가 기본값이라는 안전한 가정이며 setResult를 두 번 이상 호출해도 괜찮은지 명확하지 않습니다. –
onActivityResult 메서드에 대한 문서의 또 다른 줄은 "활동이 명시 적으로이를 반환하거나 결과를 반환하지 않았거나 작업 중에 충돌 한 경우 resultCode는 RESULT_CANCELED가됩니다." 따라서 결과를 반환하지 않으면 사용자가 뒤로 버튼으로 활동을 종료하기 전에 결과가 RESULT_CANCELLED입니다. – Dirol
setResult를 두 번 이상 호출하려고합니다. 실제로는 doc에서 정의되지 않았습니다. 그래서 나는 그것에 의지하지 않을 것입니다. 현재 API에서 작동 할 수 있다고해도 향후에는 작동 할 것이라는 보장은 없습니다. – Dirol