화면 회전시 이전 데이터 유지하기

2022. 4. 21. 15:56개발/Android

코드 지워야돼서 기록한다

 

 

 

원하는 액티비티에 이거 추가

android:configChanges="orientation"(in Menifest)

<activity
    android:name=".ui.main.MainActivity"
    android:configChanges="orientation"
    android:label="@string/app_name"
    android:windowSoftInputMode="stateAlwaysHidden|adjustPan">

이런 식으로

 

 

 

데이터 고정 뿐만 아니라, 회전 후에 새로운 화면을 적용한다든지 새로운 액션이 필요하면

override fun onConfigurationChanged(newConfig: Configuration) {
    super.onConfigurationChanged(newConfig)
    if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT // 가로 전환시
        || newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE ) { // 세로 전환시
        binding.root.postDelayed({
            setupFragment()
        }, 200)
    }
}

onConfigurationChanged 를 override해서 내부 로직 구현해주면 된다