package Ġcom . t ait asci ore dev . android . ch uck nor ris quotes . feature . categories Ċ Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġcom . jak ew h art on . r xb ind ing 2 . view . Rx View Ċ import Ġcom . t ait asci ore dev . android . ch uck nor ris quotes . R Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . subjects . Publish Subject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġr rt at asci ore Ġon Ġ 2 5 / 1 2 / 1 7 . Ċ Ġ*/ Ċ data Ġclass ĠCategory Adapter ( private Ġval Ġcategories : ĠList < String >) Ġ: ĠRecyclerView . Adapter < Category Adapter . Category ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġclick Subject : ĠPublish Subject < String > Ġ= ĠPublish Subject . create () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup ?, Ġview Type : ĠInt ): ĠCategory ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠLayoutInflater . from ( parent !!. context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . category _ row _ layout , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠCategory ViewHolder ( v ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠCategory ViewHolder ?, Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcategory Ġ= Ġcategories [ position ] ĊĠĠĠĠĠĠĠ Ġholder !!. category . text Ġ= Ġcategory ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcategories . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclick Observable (): ĠObservable < String > Ġ= Ġclick Subject ĊĊĠĠĠ Ġinner Ġclass ĠCategory ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcategory : ĠTextView Ġ= Ġview . findViewById ( R . id . tv _ category ) ĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĠRx View . click s ( view ). subscribe Ġ{ Ġclick Subject . onNext ( categories [ adapter Position ]) Ġ} Ġ} ĊĠĠĠ Ġ} Ċ }