-
You need to use a Theme.AppCompat theme (or descendant) with this activity.안드로이드(java)/에러 관련 2019. 3. 15. 10:52
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
animation을 적용하기 위해서 쓸만한 라이브러리가 뭐가 있을까 찾아보다가 Android Propose 라는 라이브러리를 발견하였습니다.
깃허브에서 해당 sample을 다운받아서 어떻게 동작하나싶어서 코드들을 새로운 프로젝트에 넣었는데
위와같은 에러가 나타났습니다.
스타일이 문제인가 싶어서 스타일쪽을 봤지만 다른설정을 한건없었고 매니페스트에 문제인가 싶어서 봤으나 역시나 다른점은 없었습니다.
그럼 뭔가 AppCompat 관련된 문제가 있나 싶어서 MainActivity 에서 상속받은 AppCompatActivity 를 Activity로 바꾸고 실행하니 에러없이 잘 출력 되었습니다.
둘 의 차이가 뭐길래 실행이 안되고 에러가 났을까 상속 관계도를 불러봅니다. (안드로이드 스튜디오에서 단축키 : ctrl + h)
구조를 보니까 activity가 더 상위 클래스네요.
어째서 계속 상속을 받아가며 기능들을 추가하는걸까 찾아봅니다.
AppCompatActivity 를 사용하면 과거에 만들어진 버전과 호환되면서 새로운 버전의 기능(action bar, metarial design 등)도 사용할 수 있다고 합니다.
AppCompatActivity의 자세한 정보는 google developers에서 확인가능합니다.
'안드로이드(java) > 에러 관련' 카테고리의 다른 글