package Ġcom . example . android . room word ss ample . Database SQL Ċ Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġkotlinx . android . synt hetic . main . lo _ words . view .* Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . android . room word ss ample . MainActivity Ċ import Ġcom . example . android . room word ss ample . R Ċ Ċ class ĠWord Adapter ( m Ctx Ġ: ĠContext Ġ, Ġval Ġwords Ġ: ArrayList < Word >) Ġ: ĠRecyclerView . Adapter < Word Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġval Ġm Ctx Ġ= Ġm Ctx ĊĊĠĠĠ Ġ// à¸ģ à¸³ à¸« à¸Ļ à¸Ķ à¸Ħ à¹Ī à¸² Ġlayout Ġ à¸Ĺ à¸µà¹Ī à¸ķ à¹ī à¸Ńà¸ĩ à¸²à¸£ à¹ģ à¸ª à¸Ķ à¸ĩ Ġà¹Ģ à¸Ĭ à¹Ī à¸Ļ ĠScan Result ĊĠĠĠ Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġscan word Ġ= ĠitemView . txt scan _ res ul ut ĊĠĠĠĠĠĠĠ Ġval Ġupdate button Ġ= ĠitemView . btn update ĊĠĠĠĠĠĠĠ Ġval Ġdelete button Ġ= ĠitemView . btn delete ĊĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( p 0 : ĠViewGroup , Ġp 1 : ĠInt ): ĠWord Adapter . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠLayoutInflater . from ( p 0 . context ). inflate ( R . layout . lo _ words , Ġp 0 , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( v ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwords . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( p 0 : ĠWord Adapter . ViewHolder , Ġp 1 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġword Ġ: ĠWord Ġ= Ġwords [ p 1 ] ĊĠĠĠĠĠĠĠ Ġp 0 . scan word . text Ġ= Ġword . word Name ĊĊĠĠĠĠĠĠĠ Ġp 0 . delete button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġword _ delete Ġ= Ġword . word Name ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġalert Dialog Ġ= ĠAlertDialog . Builder ( m Ctx ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle (" Warning ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage (" Are Ġyou Ġsure Ġto ĠDelete Ġ: Ġ$ word _ delete Ġ? ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button (" Yes ", DialogInterface . OnClickListener { dialog , Ġwhich Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( MainActivity . db Handler . delete Word ( word . word ID )){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwords . remove At ( p 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Removed ( p 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Range Changed ( p 1 , words . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( m Ctx ," ĠWord Ġ$ word _ delete ĠDeleted Ġ" Ġ, Toast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( m Ctx ," Error ĠDe leting ", Toast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button (" No ", DialogInterface . OnClickListener Ġ{ Ġdialog , Ġwhich Ġ-> Ġ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setIcon ( R . drawable . ic _ baseline _ warning _ 2 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġalert Dialog . get Button ( AlertDialog . BUTTON _ POSITIVE ). set BackgroundColor ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalert Dialog . get Button ( AlertDialog . BUTTON _ POSITIVE ). setTextColor ( Color . GREEN ) Ċ // ĠĠĠĠĠĠĠĠĠĠ Ġalert Dialog . get Button ( AlertDialog . BUTTON _ POSITIVE ). set Padding ( 2 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalert Dialog . get Button ( AlertDialog . BUTTON _ NEGATIVE ). set BackgroundColor ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalert Dialog . get Button ( AlertDialog . BUTTON _ NEGATIVE ). setTextColor ( Color . RED ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }