강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của seook68532109
seook68532109

câu hỏi đã được viết

[Phiên bản cơ bản] Tạo ứng dụng cộng đồng Android (Android Kotlin)

리스트뷰 에러 질문

Viết

·

347

0

안녕하세요 개발자님 강의 매우 잘 들은 학생입니다.
다름이 아니라 강의 후 제가 본 강의랑 기능이 거의 유사한 어플을 만들어보고 있습니다.!
만드는 중에 강의에서 BoardListLVAdapter로 리스트뷰를 생성했던 부분을 제가 동일하게 해보았는데
실행 후 해당 메뉴 탭을 누르면 "Only the original thread that created a view hierarchy can touch its views"라는
에러가 계속발생합니다.
구글검색해보면 main thread를 사용을 안해서 그런다고 하는데 해결방법을 찾아보니
runOnUiThread라는 기능을 사용하라고 나오는데 이건 Activity에경우에만 적용이 되는것 같고 Fragment에는 적용이 안되는 거 같습니다...
혹시 이 경우에 어떻게 해야하는지 도움을 받을 수 있을까요??
<Fragment에서 리스트뷰 생성하는 부분, getproduct함수에서 items리스트에 아이템을 넣어줌.>
<리스트뷰 어탭터 부분>
<리스트뷰 아이템 xml>
<fragment에 해당하는 xml의 ListView>
androidfirebasekotlin

Câu trả lời 4

0

bokchi님의 프로필 이미지
bokchi
Người chia sẻ kiến thức

그리고 rxjava와 코루틴 쓰레드에 대한 개념이 헷갈리시면 아래의 영상 한번 보시면 좋을 것 같습니다.

https://www.youtube.com/watch?v=iv_Qj_xGNRE

0

bokchi님의 프로필 이미지
bokchi
Người chia sẻ kiến thức

일단 예상되는 문제점으로 코루틴을 이용해서 네트워크 통신을 했는데

worker thread에서 ui를 변경하려는 문제같습니다.

(ui작업은 메인쓰레드에서 하셔야 합니다.)

아래 글을 한번 참고해보시겠어요?

https://www.tutorialkart.com/kotlin-android/original-thread-created-view-hierarchy-can-touch-views/

만약 혼자 해결이 어려우시면 깃허브에 소스 공유 후 링크 알려주시면 제가 한번 살펴보겠습니다 ㅎㅎ

seook6853님의 프로필 이미지
seook6853
Người đặt câu hỏi

네 감사합니다! 일단 혼자 시도해보고 정말 모르겠으면 다시 질문드리겠습니다!

정말 감사합니다!

bokchi님의 프로필 이미지
bokchi
Người chia sẻ kiến thức

아랭 링크에도 예제가 있습니다~

https://stackoverflow.com/questions/64980990/run-on-ui-thread-error-room-database-android-studio

https://blog.yena.io/studynote/2020/04/26/Android-Kotlin-Coroutine.html

0

seook6853님의 프로필 이미지
seook6853
Người đặt câu hỏi

네 Spring강의도 추가적으로 듣고 있어서 Retrofit2이용해서 데이터를 받아왔습니다!

추가적으로 구성되있는 부분 공유드리겠습니다!

  • getProduct()

- getProduct()함수는 Fragment에서 작성하였습니다!

  • API통신 정의한 부분

  • 어플 화면

-이렇게 홈 화면에서 Search화면으로 메뉴버튼을 누르면 만들어 놓은 리스트뷰도 안뜨고 위에서 말씀드린 Error가 발생합니다.

0

bokchi님의 프로필 이미지
bokchi
Người chia sẻ kiến thức

안녕하세요 :)

혹시 네트워크 통신 같은 것으로 데이터를 받아오셨나요?

Main Thread에서 동작하면 안되는 부분이 메인쓰레드에서 동작하게 되도록 구현하셔서 그런 것 같은데

getProduct() 부분이 어떻게 구현되어있는지도 공유해주셔야 할 것 같습니다.

가능하면 앱 화면과 전체 소스코드를 꼼꼼하게 공유해주시면 도움드릴 수 있을 것 같아요~

Hình ảnh hồ sơ của seook68532109
seook68532109

câu hỏi đã được viết

Đặt câu hỏi