package Ġcom . nic ow . new player . ui . adapter Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . nic ow . new player . New Player Application Ċ import Ġcom . nic ow . new player . R Ċ import Ġcom . nic ow . new player . data . Music Ċ import Ġcom . nic ow . new player . data . Top List Music Ċ import Ġcom . nic ow . new player . ui . activity . Playing Activity Ċ import Ġcom . nic ow . new player . ui . view model . Playing ViewModel Ċ Ċ class ĠMusic ListAdapter ( var Ġmusic List : ĠArrayList < Top List Music >) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Music ListAdapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmusic Name : ĠTextView Ġ= Ġview . findViewById ( R . id . music Name ) ĊĠĠĠĠĠĠĠ Ġval Ġartist : ĠTextView Ġ= Ġview . findViewById ( R . id . artist ) ĊĠĠĠĠĠĠĠ Ġval Ġcount : ĠTextView Ġ= Ġview . findViewById ( R . id . count ) ĊĠĠĠĠĠĠĠ Ġval Ġmore : ĠImageView Ġ= Ġview . findViewById ( R . id . more _ btn ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMusic ListAdapter . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . item _ music _ list , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval ĠviewHolder Ġ= ĠViewHolder ( view ) ĊĠĠĠĠĠĠĠ ĠviewHolder . more . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= ĠviewHolder . adapter Position ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġmusic List [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( parent . context , Ġ" This Ġmusic Ġis Ġ${ item . music Name }", ĠToast . LENGTH _ SHORT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠviewHolder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= ĠviewHolder . adapter Position ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġmusic List [ position ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlay ing ViewModel . change Music With List ( item , Ġmusic List Ġas ĠArrayList < Music >) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠviewHolder . item View . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= ĠviewHolder . adapter Position ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġmusic List [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( New Player Application . context , ĠPlay ing Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" Music ", Ġitem ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Playing ViewModel . getCurrent Music () Ġ!= Ġitem ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPlay ing ViewModel . change Music With List ( item , Ġmusic List Ġas ĠArrayList < Music >) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNew Player Application . context . startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠviewHolder ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġmusic List . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmusic Ġ= Ġmusic List [ position ] ĊĠĠĠĠĠĠĠ Ġholder . music Name . text Ġ= Ġmusic . music Name ĊĠĠĠĠĠĠĠ Ġholder . artist . text Ġ= Ġmusic . artist ĊĠĠĠĠĠĠĠ Ġholder . count . text Ġ= Ġ( position Ġ+ Ġ 1 ). toString () ĊĠĠĠ Ġ} Ċ }