투케이2K

233. (TWOK/ERROR) [Android] DecorView.getWindowInsetsController() on a null object reference 본문

투케이2K 에러관리

233. (TWOK/ERROR) [Android] DecorView.getWindowInsetsController() on a null object reference

투케이2K 2024. 4. 11. 14:51

[환경 설정 및 설명]

프로그램 : AndroidStudio

설 명 : [Android] DecorView.getWindowInsetsController() on a null object reference

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.WindowInsetsController com.android.internal.policy.DecorView.getWindowInsetsController()' 
on a null object reference
 

[에러 원인]

1. 안드로이드 getInsetsController().hide(WindowInsets.Type.statusBars()) 상태바 숨김 코드 적용 시 해당 코드가 액티비티 setContentView 뷰 지정 위치 보다 상단에 초기 선언 되어 발생하는 이슈

 

[해결 방법]

1. getInsetsController().hide(WindowInsets.Type.statusBars()) 상태바 숨김 코드를 액티비티 setContentView 하단에 재배치

2. 예시 코드 :

 

        // ---------------------------------------------------------------
        // [액티비티 레이아웃 지정 실시]
        // ---------------------------------------------------------------
        setContentView(R.layout.activity_a_intro);


        // ---------------------------------------------------------------
        // [액티비티 풀 스크린]
        // ---------------------------------------------------------------
        C_App.setFullScreen(A_Intro.this); 

            /* [소스 코드]
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
                activity.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars());
            } else {
                activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
            }
            */

반응형
Comments