인프런 커뮤니티 질문&답변
Practice2D 강의에서 질문 있습니다.
작성
·
135
1
안녕하세요!
'Practice2D-검색결과를 UI에 표시하기' 강의에서 searchBooks()가 onViewCreated() 안에서 한번 호출되고 searchBooks() 블록이 끝난 후에도 etSearch의 입력값이 변경될 때마다 콜백함수 내에서 searchBooks()블록 내에서 선언한 startTime과 endTime에 접근할 수 있는 이유가 궁금합니다.
답변 1
1
냉동코더
지식공유자
EditText의 속성 중 addTextChangedListener를 사용하면 EditText에 값이 입력될 때마다 수행할 동작을 지정할 수 있습니다. 단순히 입력후 만이 아니라 TextWatcher를 사용하면 입력직전, 입력직후, 값을 대체했을 때의 상황에 따라 지정을 할 수도 있습니다. 참고할 수 있는 링크를 붙여드립니다. :)
https://stackoverflow.com/a/40569759






냉동코더님 답변 감사드립니다:)
그런데 아직 제가 궁금했던 부분은 해결되지 않아서 다시 질문드리도록 하겠습니다!
searchBooks() 블록이 끝난 이후에도 addTextChangedListener로 등록한 콜백함수에서 searchBooks의 지역변수인 startTime과 endTime에 접근할 수 있는 이유가 궁금했습니다!
searchBooks가 끝나면 searchBooks에 있는 지역변수들이 메모리에서 사라져서 접근하지 못할 것 같다고 생각했는데, 계속 접근할 수 있어서 예상대로 잘 동작하는 것 같아서 질문드렸습니다ㅠㅠ!