반응형
Compose를 연습하다가 다른 Activity에서 Navigation을 사용하려고 했는데 계속 Inflate오류가 발생했다.
`ComponentActivity`는 Jetpack Compose를 지원하기 위한 기본 Activity 클래스입니다. 이 클래스는 `AppCompatActivity`와는 달리 프래그먼트와 관련된 내장 메서드를 제공하지 않습니다. 따라서 `ComponentActivity`에서 `androidx.fragment.app.FragmentContainerView`를 사용하려면 몇 가지 추가 작업이 필요합니다. 일반적으로 `ComponentActivity`를 상속하는 경우에는 Compose를 사용하여 UI를 작성하는 것이 가장 일반적입니다. 그러나 `FragmentContainerView`와 같은 프래그먼트를 사용해야 하는 상황이라면, `AppCompatActivity` 또는 `FragmentActivity`를 사용하는 것이 더 적합합니다. 이 두 클래스는 프래그먼트와 관련된 메서드를 제공하며, `FragmentContainerView`와 같은 프래그먼트를 관리하는 데 필요한 기능을 제공합니다. 따라서 `SettingsActivity` 클래스가 `FragmentContainerView`를 사용해야 한다면, `ComponentActivity` 대신 `AppCompatActivity`나 `FragmentActivity`를 상속하도록 수정하는 것이 좋습니다. 이렇게 하면 프래그먼트를 관리하는 데 필요한 메서드를 사용할 수 있으며, 이전에 발생했던 테마 관련 오류도 해결할 수 있을 것입니다.
관련 내장 메서드를 제공하지 않아서 생기는 문제였다.
해결방법
ComponentActivity를 AppCompatActivity로 변경하고
<activity
android:name=".SettingsActivity"
android:exported="false"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
android:label="@string/title_activity_settings" />
theme를 별개로 설정해 주었더니 바로 해결되었다!!
반응형
'Android' 카테고리의 다른 글
Android 이미지 비율 계산 Ratio (0) | 2023.07.25 |
---|---|
Android Fragment간 통신방법 (0) | 2023.07.05 |
Android Compose Card backgroundColor Change (0) | 2023.06.12 |
Single Live Event란 + 사용방법 (0) | 2023.06.12 |
Android Compose에서 dimens.xml 리소스 사용하는 방법 (0) | 2023.06.10 |
댓글