package Ġcom . worker 8 . auto adapter Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġandroidx . recyclerview . widget . RecyclerView . NO _ ID Ċ import Ġcom . worker 8 . auto . adapter . library . Auto Adapter Ċ import Ġcom . worker 8 . auto . adapter . library . Auto Data Ċ import Ġcom . worker 8 . auto . adapter . library . ListItem Ċ import Ġcom . worker 8 . auto adapter . data . Normal Auto Data Ċ Ċ class ĠSimple Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠHAS _ ST ABLE _ ID Ġ= Ġ" HAS _ ST ABLE _ ID " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġhas Stable Id Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġintent . getBoolean Extra ( HAS _ ST ABLE _ ID , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ simple ) ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠAuto Adapter ( has Stable Ids Ġ= Ġhas Stable Id ) ĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView Ġ= ĠfindViewById < RecyclerView >( R . id . re cyclerView ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġval ĠROW _ COUNT Ġ= Ġ 1 0 0 ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < ListItem < Auto Data >>() ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil ĠROW _ COUNT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( has Stable Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( Normal Row ( Normal Auto Data ( i . to Long (), Ġ" title Ġ# ${ i }", Ġ" desc Ġ# ${ i } "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( Normal Row ( Normal Auto Data ( NO _ ID , Ġ" title Ġ# ${ i }", Ġ" desc Ġ# ${ i } "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġadapter . submit List ( list ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġclass ĠNormal Row ( override Ġval Ġdata : ĠNormal Auto Data ) Ġ: ĊĠĠĠ ĠListItem < Normal Auto Data >() Ġ{ ĊĠĠĠ Ġoverride Ġval Ġlayout Res Id Ġ= ĠR . layout . normal _ row ĊĠĠĠ Ġoverride Ġfun Ġbind ( item View : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ ĠitemView . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Text Ġ= ĠfindViewById < TextView >( R . id . title Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdesc Text Ġ= ĠfindViewById < TextView >( R . id . desc Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Text . text Ġ= Ġdata . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdesc Text . text Ġ= Ġdata . desc ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }