마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

코틀린 뷰 추가 후 화면 갱신 관련 질문드립니다

0 추천
while문 안에서 특정 조건에 만족하면 LinearLayout에 ImageView를 추가하는 함수를 작성 중인데 while문이 돌아가는 중간에 조건이 맞아서 View를 추가해도 반복문이 끝난 후에 LinearLayout이 업데이트 됩니다. LinearLayout.size로 View가 Layout에 정상적으로 들어가고 있나 확인해보니 이는 이상이 없습니다. 혹시 LinearLayout을 강제로 업데이트 시키거나 View를 추가할 때 즉시 화면을 갱신하는 방법이 있을까요?
박준식 (120 포인트) 님이 2021년 11월 22일 질문
while문 안에서 뷰를 업데이트하신 다는 말대로라면 UI를 블록하고 있을 가능성이 커보입니다. 따라서 while문이 끝나고 나야 뷰가 업데이트가 되는 걸로 보이네요. 맞다면, 현재 방식은 피하셔야 하고,  Thread, Handler, runOnUiThread, Callback, RxJava, Coroutine, Flow 같은 비동기방식 지원 클래스를 이용하여 비동기처리를 하셔야 합니다.
저같은 경우는 매초마다 서버 API를 폴링하여 (무한루프와 delay를 사용) 화면에 있는 주식 리스트를 업데이트하는 화면이 있는데, Kotlin을 사용하기 때문에 Flow를 이용합니다.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...