package Ġru . cle ver pump kin . calendar . sample Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . annotation . String Res Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 7 . widget . Divider Item Decoration Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ Ċ class ĠSample List Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġinterface ĠOn Sample ItemClickListener Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġon Sample Item Click ( sample Item : ĠSample Item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠSample Item (@ String Res Ġval Ġdescription Res : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSE LECTION _ SAMPLE ( description Res Ġ= ĠR . string . selection _ sample ), ĊĠĠĠĠĠĠĠ ĠCUSTOM _ STYLE _ SAMPLE ( description Res Ġ= ĠR . string . custom _ style _ sample ), ĊĠĠĠĠĠĠĠ ĠDATE _ IND IC ATORS _ SAMPLE ( description Res Ġ= ĠR . string . date _ indicators _ sample ), ĊĠĠĠĠĠĠĠ ĠDIALOG _ SAMPLE ( description Res Ġ= ĠR . string . dialog _ sample ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġsample ItemClickListener : ĠOn Sample ItemClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġsample ItemClickListener Ġ= Ġcontext Ġas ? ĠOn Sample ItemClickListener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ sample _ list , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView Ġ= Ġview . findViewById < RecyclerView >( R . id . recycler _ view ) ĊĊĠĠĠĠĠĠĠ Ġre cyclerView . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item Decoration ( Divider Item Decoration ( context , ĠDiv ider Item Decoration . VERTICAL )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= ĠSample ListAdapter () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠSample ListAdapter Ġ: ĠRecyclerView . Adapter < Sample Item ViewHolder >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠSample Item ViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġparent . context ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . item _ sample , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġholder Ġ= ĠSample Item ViewHolder ( view Ġas ĠTextView ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Position Ġ= Ġholder . adapter Position ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( adapter Position Ġ!= ĠRecyclerView . NO _ POSITION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsample Item Ġ= ĠSample Item . values ()[ adapter Position ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsample ItemClickListener ?. on Sample Item Click ( sample Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġholder ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠSample Item ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsample Item Ġ= ĠSample Item . values ()[ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . textView . setText ( sample Item . description Res ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= ĠSample Item . values (). size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠSample Item ViewHolder ( val ĠtextView : ĠTextView ) Ġ: ĠRecyclerView . ViewHolder ( textView ) Ċ }