java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity 해결하기
소스를 복붙 하면서 작업을 하다 보니 이제는 Theme 가지고도 에러가 난다.
빠르게 살펴보고 해결해보자.
일단 dialog를 show 하다가 에러가 났다.
콘솔로 내용을 쭈우욱 훑었다.
음.. 이 액티비티(또는 그 아래 연관 화면)에서는 'Theme.AppCompat'을 사용하라고 하네..?
여기서는 다이얼로그를 띄우려고 했으니.. 다이얼로그 관련 내용을 손봐줘야지 ㅎㅎ
표면적으로는 위 코드 줄을 설명 해줬지만, 더 깊게 들어가 봐야 할 것 같다.
생성된 AlertDialog를 Ctrl+B로 살펴보았는데 확장이 AppCompatDialog에서 되었다.
그래서 AndroidManifest.xml로 당장에 달려가서 보았는데
내 테마는 AppCompat 테마가 아닌 것이었다.. 눈치챘다 해결하러 가자.
해결 방법!!
1. import 다이얼로그를 appcompat이 아닌 일반으로 변경해준다.
import androidx.appcompat.app.AlertDialog; -> import android.app.AlertDialog;
2. 테마를 appcompat 테마로 바꿔준다.
나는 1번을 선택해서 해결했다.
왜냐하면 alertDialog를 복붙 하기 전에 import android.app.AlertDialog; 를 이미 사용 중이었음..(import를 잘못시켰었음 ㅋㅋㅋㅋ)
그래서 테마도 그대로 사용하면서 깔끔하게 해결하였다.
알고 보면 어려운 오류가 아니었는데 시간을 꽤 잡아먹었다...
포스팅을 읽고,
큰 도움이 되셨다면, 공감(♥)을 던져 주세요!
큰 힘이 되어 다음 포스팅 시에도 파이팅하겠습니다.
안드로이드 SMS 문자 내용 중 대괄호 안 숫자만 파싱하기(Parse) (0) | 2021.02.09 |
---|---|
안드로이드 웹뷰에서 user-agent 내용 추가하여 분기 처리하기. (0) | 2021.01.28 |
WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running? 해결하기 (0) | 2021.01.15 |
코틀린 Handler deprecated 해결하기 (0) | 2021.01.14 |
안드로이드 크로노미터로 스톱워치(타이머) 쉽게 구현하기 (0) | 2021.01.13 |
댓글 영역