[안드로이드] 안드로이드스튜디오(Android Studio), 다이얼로그(AlertDialog) 를 한 번만 생성하고 변경된 값만 반영하기,showDialog(), CreateDialog(), onCreateDialog(), onPrepareDialog() , 안드로이드 예제, 안드로이드 강좌
참고 : 이미지서명은 제 와이프 블로그 이미지서명입니다.
안녕하세요 정보처리마법사 입니다.
이번 포스팅의 주제는 다이얼로그(AlertDialog)를 한 번만 생성하고 변경된 값만 반영하기에 관한 내용입니다.
다이얼로그의 내용이 복잡해 질 경우 다이얼로그를 로딩하는 시간이 길어져 사용자가 불편해할 수 있습니다. 이처럼 다이얼로그 생성 시간이 오래 걸리는 경우에는 해당 다이얼로그를 처음 한 번만 생성하고 그 뒤로는 변경된 내용만 반영해서 사용자에게 더 나은 사용자경험을 제공해줄 수 잇습니다.
showDialog() 메소드는 지정된 인자를 가지는 다이얼로그를 화면에 보여주는 메소드이며, onCreateDialog() 메소드는 이러한 다이얼로그를 생성하는 메소드입니다.
이때 showDialog() 메소드를 아무리 많이 호출하더라도 onCreateDialog() 메소드는 최초 한 번만 호출됩니다.
그러므로
복잡한 연산은 onCreateDialog() 메소드에 작성해야하며,
매번 다이얼로그를 보여줄 때마다 변경해야 하는 값은 onPrepareDialog() 메소드에 작성해야 합니다.
레이아웃에 버튼 하나만 배치하고 id는 btnDialog로 주고 text는 "다이얼로그" 로 하였습니다.
이 소스코드를 실행하면 showDialog() 메소드가 아무리 여러번 호출되더라도 onCreateDialog() 메소드는 최초 한 번만 호출되며, onPrepareDialog() 메소드는 showDialog()가 호출된 수 만큼 호출되는 것을 알 수 있습니다.
디바이스로 애플리케이션을 실행하고
다이얼로그 를 여러번 띄워봤습니다.
로그캣을 보니 onCreateDialog() 메소드는 최초 한 번만 호출이 된 것을 볼 수 있습니다.
이상으로 포스팅을 마칩니다. 감사합니다.
참고서적 : 200개의 단계별 예제로 배우는 안드로이드 4.0 [제이펍]
Fin.
잘 못 된 정보가 있으면 말씀해주세요~
공감버튼 클릭은 작성자에게 큰 힘이 됩니다. 행복한 하루 되세요.