package Ġcom . te aph y . diff util demo Ċ Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . util . Log Ċ import Ġcom . te aph y . diff util demo . adapter . Diff Adapter Ċ import Ġcom . te aph y . diff util demo . bean . Diff Bean Ċ import Ġorg . jetbrains . ank o . toast Ċ Ċ import Ġkotlinx . android . synt hetic . main . activity _ diff .* Ċ Ċ class ĠDiff Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm List Ġ= Ġmutable ListOf < Diff Bean >() ĊĠĠĠ Ġprivate Ġval Ġm Adapter : ĠDiff Adapter Ġ= ĠDiff Adapter () ĊĊĠĠĠ Ġprivate Ġvar Ġcount Refresh Ġ= Ġ 1 ĊĠĠĠ Ġprivate Ġvar Ġcount Update Ġ= Ġ 1 ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ diff ) ĊĊĠĠĠĠĠĠĠ Ġinit Data () ĊĊĠĠĠĠĠĠĠ Ġinit View () ĊĊĠĠĠĠĠĠĠ Ġset Listener () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġm List . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Diff Bean (" A ", Ġ" è¿Ļæĺ¯ A ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Diff Bean (" B ", Ġ" è¿Ļæĺ¯ B ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Diff Bean (" C ", Ġ" è¿Ļæĺ¯ C ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Diff Bean (" D ", Ġ" è¿Ļæĺ¯ D ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Diff Bean (" E ", Ġ" è¿Ļæĺ¯ E ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġrv Diff . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( this @ Diff Activity , ĠLinearLayoutManager . VERTICAL , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġm Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Adapter . setData ( m List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġbtn Add . setOnClickListener ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Utils . isEmpty ( edit Name . text ) Ġ-> Ġtoast ( edit Name . hint ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Utils . isEmpty ( edit Desc . text ) Ġ-> Ġtoast ( edit Desc . hint ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbean Ġ= ĠDiff Bean ( edit Name . text . toString (), Ġedit Desc . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm List . add ( bean ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . setData ( m List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġbtn Update . setOnClickListener ({ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" tea ", Ġ" update ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbean Ġ= Ġm List [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdiff Bean Ġ= ĠDiff Bean ( bean . name , Ġ" è¿Ļæĺ¯ A Ġ-- Ġ$ count Update ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm List [ 0 ] Ġ= Ġdiff Bean ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . setData ( m List ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcount Update ++ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" tea ", Ġ" m List : Ġ$ m List ") ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġbtn Delete . setOnClickListener ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm List . remove At ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . setData ( m List ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġbtn Refresh . setOnClickListener ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew List Ġ= Ġmutable ListOf < Diff Bean >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew List . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Diff Bean (" A ", Ġ" è¿Ļæĺ¯ A -- æĽ´æĸ° æ¬¡æķ° ï¼ļ $ count Refresh ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Diff Bean (" B ", Ġ" è¿Ļæĺ¯ B -- æĽ´æĸ° æ¬¡æķ° ï¼ļ $ count Refresh ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Diff Bean (" C ", Ġ" è¿Ļæĺ¯ C -- æĽ´æĸ° æ¬¡æķ° ï¼ļ $ count Refresh ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Diff Bean (" D ", Ġ" è¿Ļæĺ¯ D -- æĽ´æĸ° æ¬¡æķ° ï¼ļ $ count Refresh ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Diff Bean (" E ", Ġ" è¿Ļæĺ¯ E -- æĽ´æĸ° æ¬¡æķ° ï¼ļ $ count Refresh ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Refresh ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . setData ( new List ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ