package Ġcom . jo ses am uel . sample app Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . util . Log Ċ import Ġaut od roid . annotations . recyclerview . Auto RecyclerView Adapter Ċ import Ġkotlinx . coroutines . experimental . launch Ċ import Ġpager . List DataProvider Ċ import Ġpager . Pager Ċ import Ġjava . util .* Ċ import Ġkotlin . math . log ĊĊ Ċ /** Ċ Ġ* ĠA Ġsample Ġactivity Ġthat Ġuses ĠRecyclerView Ġwith ĠAuto Droid Ġgenerated Ġadapter Ċ Ġ*/ Ċ class ĠActivity Using Auto Droid RecyclerView Ġ: ĠActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġrandom Ġ= ĠRandom () ĊĠĠĠ Ġprivate Ġval Ġlist DataProvider Ġ= ĠList DataProvider ( listOf ( My Data (" A ", Ġ" B ", ĠR . drawable . ic _ action _ name ))) ĊĠĠĠ Ġprivate Ġval Ġdraw ables Ġ= ĠarrayOf ( R . drawable . ic _ action _ name , ĠR . drawable . ic _ action _ name 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ action _ name 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ action _ name 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ action _ name 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ action _ name 6 ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ ĠfindViewById < RecyclerView >( R . id . re cyclerView ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( this @ Activity Using Auto Droid RecyclerView ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= ĠMy Data Adapter ( Pager ( list DataProvider )). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ Ġview Id , Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( view Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . button 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist DataProvider . add ( random . nextInt ( list DataProvider . size ), ĠMy Data ( random . nextInt ( 1 0 0 ). toString (), Ġrandom . nextInt ( 1 0 0 ). toString (), Ġdraw ables [ random . nextInt ( draw ables . size )])) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . button 2 Ġ-> Ġlist DataProvider . remove At ( random . nextInt ( list DataProvider . size )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder Created Listener Ġ= Ġ:: on ViewHolder Created ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder Bind Listener Ġ= Ġ:: on ViewHolder Bound ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon ViewHolder Created ( view Holder : ĠMy Data ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . v (" Test ", Ġ" View ĠH older Ġcreated Ġ$ view Holder ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon ViewHolder Bound ( view Holder : ĠMy Data ViewHolder , Ġdata : ĠMy Data ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . v (" Test ", Ġ" View ĠH older Ġbound Ġ$ view Holder Ġ$ data ") ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ