package Ġcom . s aw yer . kotlin recyclerview demo . activity . sticky čĊč Ċ import Ġandroid . view . LayoutInflater č Ċ import Ġandroid . view . View č Ċ import Ġandroid . view . ViewGroup č Ċ import Ġandroid . widget . TextView č Ċ import Ġandroidx . recyclerview . widget . RecyclerView č Ċ import Ġcom . s aw yer . kotlin recyclerview demo . R čĊč Ċ class ĠSt icky Adapter ( val Ġlist : List < Sticky Bean >): ĠRecyclerView . Adapter < Sticky Adapter . ViewHolder >() Ġ{ čĊčĊĠĠĠ Ġcompanion Ġobject { čĊĠĠĠĠĠĠĠ Ġconst Ġval ĠFIRST _ STICK Y _ VIEW = 1 čĊĠĠĠĠĠĠĠ Ġconst Ġval ĠHAS _ STICK Y _ VIEW = 2 čĊĠĠĠĠĠĠĠ Ġconst Ġval ĠNONE _ STICK Y _ VIEW = 3 čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . sticky _ item , parent , false )) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () = list . size čĊčĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġbean = list [ position ] čĊĠĠĠĠĠĠĠ Ġholder . tv Team . text = bean . team čĊĠĠĠĠĠĠĠ Ġif Ġ( position == 0 ){ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Area . visibility = View . VISIBLE čĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Area . text = bean . area čĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tag = ĠFIRST _ STICK Y _ VIEW čĊĠĠĠĠĠĠĠ Ġ} else { čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bean . area == list [ position - 1 ]. area ){ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Area . visibility = View . GONE čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tag = ĠNONE _ STICK Y _ VIEW čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Area . visibility = View . VISIBLE čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Area . text = bean . area čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tag = ĠHAS _ STICK Y _ VIEW čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġinner Ġclass ĠViewHolder ( item View : ĠView ): RecyclerView . ViewHolder ( item View ){ čĊĠĠĠĠĠĠĠ Ġvar Ġtv Area : ĠTextView Ġ= item View . findViewById ( R . id . tv Sticky Area ) čĊĠĠĠĠĠĠĠ Ġvar Ġtv Team : ĠTextView Ġ= item View . findViewById ( R . id . tv Sticky Team ) čĊĠĠĠ Ġ} čĊč Ċ }