package Ġcom . example . jet pack demo . ui . adapter Ċ Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġcom . ch ad . library . adapter . base . provider . Base Item Provider Ċ import Ġcom . ch ad . library . adapter . base . view holder . Base Data Binding Holder Ċ import Ġcom . ch ad . library . adapter . base . view holder . Base ViewHolder Ċ import Ġcom . example . jet pack demo . Base Multi Type Ċ import Ġcom . example . jet pack demo . R Ċ import Ġcom . example . jet pack demo . data . model . bean . Hot Movie List Ċ import Ġcom . example . jet pack demo . databinding . Item Hot Movie Binding Ċ Ċ class ĠItem Movie Hot Provider Ġ: ĠBase Item Provider < Hot Movie List . Hot >() Ġ{ ĊĊĊĠĠĠ Ġoverride Ġval ĠitemView Type : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠBase Multi Type . TYPE _ MOV IE _ HOT ĊĠĠĠ Ġoverride Ġval Ġlayout Id : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠR . layout . item _ hot _ movie ĊĊĠĠĠ Ġoverride Ġfun Ġon ViewHolder Created ( view Holder : ĠBase ViewHolder , Ġview Type : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠData Binding Util . bind < Item Hot Movie Binding >( view Holder . item View ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconvert ( helper : ĠBase ViewHolder , Ġitem : ĠHot Movie List . Hot ) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠBase Data Binding Holder < Item Hot Movie Binding >( helper . item View ). data Binding ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . presenter Ġ= ĠPres enter () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . execute Pending Bindings () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠPres enter Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġis 2 D or 3 D ( ver : ĠString ) Ġ= Ġif Ġ( ver . contains (" I MAX Ġ 3 D ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . resources . get Drawable ( R . drawable . ic _ 3 d _ im ax ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . resources . get Drawable ( R . drawable . ic _ 2 d _ im ax ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }