Only the original thread that created a view hierarchy can touch its views
원인: BackThread 에서 UI를 건들면 안되는데 건드려서 생긴 문제입니다.
해결방법
1.runOnUiThread
runOnUiThread를 사용하여 메인 Ui 쓰레드에서 작업을 할 수 있습니다.
하지만 전역변수의 문제 등이 있었고 저는 Activty가 아닌 Dialog에서 백쓰레드 작업을 진행중이었어서 문제가 많았습니다.
저는
.runOnUiThread(java.lang.Runnable)' on a null object reference 에러가 발생하였습니다.
if 문으로 null인경우 return해주면 오류는 해결할 수 있었지만, 어댑터가 들어있는 데이터를 인식하지 못하는 문제가 있었습니다.
따라서 try catch 구문으로 예외처리를 해 문제를 해결하였습니다.
보통 웬만한 경우 이 코드를 사용하지 않으려 하지만,
Activty도 아니고 Dialog였기때문에 어쩔 수 없었습니다. 혹시 다른 방법을 알고 계신다면 알려주시면 감사하겠습니다.
'프로그래밍 언어 > Java' 카테고리의 다른 글
Java Singleton 패턴이란? (feat. 스프링) (0) | 2022.04.20 |
---|---|
[Android java] nullPointerException오류 실수원인 참고 (0) | 2022.04.19 |
객체지향의 원칙 OCP 와 DIP에 대해 (0) | 2022.04.05 |
좋은 객체 지향 설계의 5가지 원칙(SOLID) (0) | 2022.03.28 |
[Android java] navigation component animation 하는 방법 (0) | 2022.03.22 |