package Ġcom . zhang www . new notebook . ui . home . home Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . widget . TextView Ċ import Ġcom . ch ad . library . adapter . base . Base Quick Adapter Ċ import Ġcom . ch ad . library . adapter . base . view holder . Base ViewHolder Ċ import Ġcom . google . android . material . card . Material Card View Ċ import Ġcom . zhang www . new notebook . R Ċ import Ġcom . zhang www . new notebook . extensions . dp Ċ import Ġcom . zhang www . new notebook . extensions . get Compat Color Ċ import Ġcom . zhang www . new notebook . extensions . update Item Ċ Ċ class ĠDate Adapter Ġ: ĠBase Quick Adapter < Int , ĠBase ViewHolder >( R . layout . item _ day ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm Selected Position Ġ= Ġ- 1 ĊĊĠĠĠ Ġvar Ġon Item Click : Ġ(( Int ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġconvert ( holder : ĠBase ViewHolder , Ġitem : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Selected Position Ġ== ĠgetItem Position ( item )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ItemSelected ( item , Ġholder ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Item Un selected ( item , Ġholder ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Select Item ( this . getItem Position ( item )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Click ?. invoke ( item ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset ItemSelected ( value : ĠInt , Ġholder : ĠBase ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . getView < Material Card View >( R . id . cv _ root ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard Elevation Ġ= Ġ 1 0 . dp ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Card BackgroundColor ( context . get Compat Color ( R . color . color White )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . getView < TextView >( R . id . tv _ day ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġcontext . getString ( R . string . count OfDay , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Size Ġ= Ġ 1 6 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset TextColor ( context . get Compat Color ( R . color . color Theme )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Item Un selected ( value : ĠInt , Ġholder : ĠBase ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . getView < Material Card View >( R . id . cv _ root ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard Elevation Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Card BackgroundColor ( Color . TRANSP ARENT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . getView < TextView >( R . id . tv _ day ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ"$ value " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Size Ġ= Ġ 1 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset TextColor ( context . get Compat Color ( R . color . color Text Black )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Select Item ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Selected Position Ġ== Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Selected Position Ġ= Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġre cyclerView . update Item < Base ViewHolder >( m Selected Position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Item Un selected ( getItem ( m Selected Position ), Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Selected Position Ġ= Ġposition ĊĠĠĠĠĠĠĠ Ġre cyclerView . update Item < Base ViewHolder >( m Selected Position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ItemSelected ( getItem ( position ), Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }