package Ġcom . ut rad ia . catalog ue app v 2 . module . search . adapter ĊĊ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ut rad ia . catalog ue app v 2 . R Ċ import Ġcom . ut rad ia . catalog ue app v 2 . model . Search Category Model Ċ import Ġio . realm . Ordered Realm Collection Ċ import Ġio . realm . Realm RecyclerView Adapter ĊĊ Ċ class ĠSearch Category Adapter ( data : ĠOrdered Realm Collection < Search Category Model >) Ġ: ĠRealm RecyclerView Adapter < Search Category Model , ĠRecyclerView . ViewHolder >( data , Ġtrue ) Ġ{ ĊĊĊĠĠĠ Ġprivate Ġvar Ġm callback : ĠSearch callback ? Ġ= Ġnull ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠOnly Ġset Ġthis Ġif Ġthe Ġmodel Ġclass Ġhas Ġa Ġprimary Ġkey Ġthat Ġis Ġalso Ġa Ġinteger Ġor Ġlong . ĊĠĠĠĠĠĠĠ Ġ// ĠIn Ġthat Ġcase , Ġ{@ code ĠgetItem Id ( int )} Ġmust Ġalso Ġbe Ġoverridden Ġto Ġreturn Ġthe Ġkey . ĊĊĠĠĠĠĠĠĠ Ġset Has Stable Ids ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsetting callback ( search callback : ĠSearch callback ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm callback Ġ= Ġsearch callback ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval ĠitemView Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . view _ search _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( item View ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . getItem Count () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( holder Ġis ĠViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠgetItem ( holder . adapter Position ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . data Ġ= Ġobj ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Suggestion Name . text Ġ= Ġobj !!. name ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . search Layout . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsearch Model Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm callback !!. get Search ( searchModel !!. productId , searchModel . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinterface ĠSearch callback Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Search ( id : ĠString , name : String ) ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinternal Ġinner Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġval Ġtv Suggestion Name : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ suggestion Name ) ĊĠĠĠĠĠĠĠ Ġval Ġiv Search Suggestion : ĠImageView Ġ= ĠitemView . findViewById ( R . id . iv _ search Suggestion ) ĊĠĠĠĠĠĠĠ Ġval Ġsearch Layout : ĠConstraint Layout Ġ= ĠitemView . findViewById ( R . id . search Layout ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġdata : ĠSearch Category Model ? Ġ= Ġnull ĊĊĊĊĠĠĠ Ġ} ĊĊ Ċ } Ċ