본문 바로가기

안드로이드/오류해결

[AOS] - Fragment에서 layoutInflater 사용시 에러

반응형

layoutInflater는 안드로이드에서 View를 생성할때 사용합니다.

Fragment나 Recyclerview에서 사용하거나 CustomView를 만들때 사용합니다.

 

사용시 겪었던 문제와 해결과정을 공유드립니다.

 

Fragment에서 viewCreated시 커스텀탭을 생성하는 과정에서 간헐적으로 에러가 발생했습니다.  

아래는 문제가 발생했던 코드의 일부입니다. 

val view = layoutInflater.inflate(R.layout.layout_tab, binding.layoutTab, false)

view를 생성하기전에 context가 null인지 체크했는데도 'layoutInflater' 가 널인 경우가 간혹 있었습니다.

 

버그가 발생하지 않은 코드입니다.

val view = LayoutInflater.from(context).inflate(R.layout.layout_tab, binding.layoutTab, false)

큰 차이는 없지만 사용할때  기존 코드는 Fragment에서 생성한걸 가져다가 쓰는것이고 수정된 코드는 직접 생성할 context를 지정해서 사용하는 정도의 차이입니다. 

 

뷰 생성시 간헐적으로 에러가 발생한다면 저처럼 변경해보시는걸 추천드립니다. 

 

 

반응형