인프런 커뮤니티 질문&답변

minju0426님의 프로필 이미지
minju0426

작성한 질문수

냉동코더의 알기 쉬운 Modern Android Development 입문

ViewBinding 기초

뷰바인딩 null 질문

작성

·

193

0

안녕하세요

강의를 듣다 궁금한 것이 생겨 질문 드립니다

private var _binding: FragmentFirstBinding? = null

// This property is only valid between onCreateView and
// onDestroyView.
private val binding get() = _binding!!

코드에서 binding 변수는 게터함수호출시 옵셔널을 벗기는데,

override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {

    _binding = FragmentFirstBinding.inflate(inflater, container, false)
    return binding.root
}

에서는 _binding 변수에

만약 null값이 들어올 경우는 없나요?

null 값이 들어왔다면 리턴값은 어떻게 되나요?

답변 1

0

냉동코더님의 프로필 이미지
냉동코더
지식공유자

_binding은 nullable이기 때문에 당연히 null 이 들어올 수 있습니다.

    override fun onDestroyView() {
        super.onDestroyView()
        _binding = null
    }

 

코드를 보시면 프래그먼트가 파괴될 때 자원확보를 위해 _binding을 null로 만드는 것을 알 수 있습니다.

minju0426님의 프로필 이미지
minju0426
질문자

빠른 답변 감사합니다!

minju0426님의 프로필 이미지
minju0426

작성한 질문수

질문하기