Dialog에서 setProgressDrawable 하는 방법 (Context문제)
에 대해 알아보겠습니다.
Dialog의 xml안에 있는 progress바를 custom하기 위해 setProgressDrawable 메소드를 사용하시는 경우가 있으실텐데요
구글링 해보면 아래와 같은 메소드를 사용하라고 합니다.
setProgressDrawable(getDrawable(R.drawable.dddd));
하지만 일단 Dialog는 Activity가 아니기때문에 getDrawable메소드를 사용할 수 없습니다.
이런식으로 getOwnerActivity를 사용하면 에러가 납니다.
여기서 우리는 Context를 가져왔다는 사실을 기억해야합니다.
아래처럼 AppCompatResources에서 getDrawable메소드를 사용하고 mContext를 통해 생성자를 통해 가져온 Activity의 context를 넣어주고 사용하면 됩니다.
'프로그래밍 언어 > Java' 카테고리의 다른 글
[Android ] 카카오톡 메시지 링크 보내기 초기 설정하는 방법 (0) | 2022.05.11 |
---|---|
[Android] 카카오 링크 보내기 실패 keyhash 등록 에러 (0) | 2022.05.05 |
Java Singleton 패턴이란? (feat. 스프링) (0) | 2022.04.20 |
[Android java] nullPointerException오류 실수원인 참고 (0) | 2022.04.19 |
[Android java] "Only the original thread that created a view hierarchy can touch its views." 해결 (0) | 2022.04.13 |