package Ġch oo ong g . box . core . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . view binding . View Binding Ċ import Ġch oo ong g . box . log . Box Log Ċ import Ġch oo ong g . box . log . Log Entity Ċ import Ġcom . ch ad . library . adapter . base . Base Quick Adapter Ċ import Ġjava . lang . reflect . Parameterized Type Ċ Ċ abstract Ġclass ĠBinding Adapter < T , ĠB IND ING Ġ: ĠView Binding > Ġ: ĊĠĠĠ ĠBase Quick Adapter < T , ĠBinding Holder < BINDING >>( 0 ) Ġ{ ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġoverride Ġfun ĠonCreate Def ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠBinding Holder < BINDING > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġjava Class . generic Super class ĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġis ĠParameter ized Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclazz Ġ= Ġtype . actual Type Arguments [ 1 ] Ġas ĠClass < *> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmethod Ġ= Ġclazz . getMethod ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" inflate ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBoolean :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmethod . invoke ( null , ĠLayoutInflater . from ( context ), Ġparent , Ġfalse ) Ġas ĠB IND ING ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBinding Holder ( binding ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBox Log . e ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog Entity ( java Class . simple Name , Ġ" View Binding Ġinitialization Ġfailed "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Def ViewHolder ( parent , Ġview Type ) ĊĠĠĠ Ġ} Ċ }