package Ġcom . k ronos . sample . view binding . view bind Ċ Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . view binding . View Binding Ċ import Ġcom . hi . d hl . binding . base . Fragment Delegate Ċ import Ġcom . k ronos . sample . view binding . ext . bind Method Ċ import Ġcom . k ronos . sample . view binding . ext . inflate Method Ċ import Ġkotlin . reflect . K Property Ċ Ċ /** Ċ Ġ* Ġ< pre > Ċ Ġ* ĠĠĠĠ Ġauthor : Ġd hl Ċ Ġ* ĠĠĠĠ Ġdate Ġ Ġ: Ġ 2 0 2 0 / 1 2 / 1 1 Ċ Ġ* ĠĠĠĠ Ġdesc Ġ Ġ: Ċ Ġ* Ġ</ pre > Ċ Ġ*/ Ċ class ĠFragment View Binding < T Ġ: ĠView Binding >( ĊĠĠĠ Ġclasses : ĠClass < T >, ĊĠĠĠ Ġfragment : ĠFragment Ċ ) Ġ: ĠFragment Delegate < T >( fragment ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlayout Inflater Ġ= Ġclasses . inflate Method () ĊĠĠĠ Ġprivate Ġval Ġbind View Ġ= Ġclasses . bind Method () ĊĊĠĠĠ Ġoverride Ġfun ĠgetValue ( this Ref : ĠFragment , Ġproperty : ĠK Property < *> ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġview Binding ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġlet Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbind : ĠT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this Ref . view Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ è¿ĻéĩĮ ä¸ºäºĨ åħ¼ å®¹ åľ¨ Ġnavigation Ġä¸Ń ä½¿çĶ¨ ĠFragment ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbind Ġ= Ġlayout Inflater . invoke ( null , Ġthis Ref . layout Inflater ) Ġas ĠT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbind Ġ= Ġbind View . invoke ( null , Ġthis Ref . view ) Ġas ĠT ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbind . apply Ġ{ Ġview Binding Ġ= Ġthis Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }