코틀린으로 작성한 안드로이드 fragment에서 데이터 바인딩 유틸 사용하기

오놀은 activity와 다르게 fragment에서 데이터 바인딩 유틸을 사용하여 xml에서 id를 가져와보겠습니다.

클래스 생성

class ProductReportFragment : Fragment(){

}

android.support.v4.app.Fragment된 Fragment() 메소드를 상속받습니다.

lateinit

lateinit var bind:FragmentProductReportBinding

코틀린에는 lateinit 키워드가 있으므로 초기화를 지연시키면서 전역에 코드를 위치하여 향후 다른 함수들에서도 사용할 수 있게 합니다.

onCreateView 메소드

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

onCreateView 메소드를 오버라이드해줍니다.

fragment에서 사용할 뷰를 만드는 역할을 해주는 메소드입니다.

DataBindingUtil.inflate

bind = DataBindingUtil.inflate(inflater,R.layout.fragment, container, false)

뷰를 얻기위해 바인드를 생성하고 반환합니다.

완성 코드

class Fragment : Fragment(){
    lateinit var bind:FragmentBinding
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        bind = DataBindingUtil.inflate(inflater,R.layout.fragment, container, false)
        return bind.root
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
    }
}
Written on July 25, 2018