프로그래밍 언어/Java

[Android java] Dialog에서 setProgressDrawable 하는 방법 (Context문제)

happy_life 2022. 4. 27. 12:26

Dialog에서 setProgressDrawable 하는 방법 (Context문제)

에 대해 알아보겠습니다.

 

Dialog의 xml안에 있는 progress바를 custom하기 위해 setProgressDrawable 메소드를 사용하시는 경우가 있으실텐데요

 

구글링 해보면 아래와 같은 메소드를 사용하라고 합니다.

setProgressDrawable(getDrawable(R.drawable.dddd));

 하지만 일단 Dialog는 Activity가 아니기때문에 getDrawable메소드를 사용할 수 없습니다.

 

이런식으로 getOwnerActivity를 사용하면 에러가 납니다.

 

여기서 우리는 Context를 가져왔다는 사실을 기억해야합니다.

아래처럼 AppCompatResources에서 getDrawable메소드를 사용하고 mContext를 통해 생성자를 통해 가져온 Activity의 context를 넣어주고 사용하면 됩니다.