package Ġcom . tok op edia . home Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . widget .* Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . me it uan . rob ust . patch . Rob ust Modify Ċ import Ġcom . me it uan . rob ust . patch . annot a ion . Add Ċ import Ġcom . me it uan . rob ust . patch . annot a ion . Modify Ċ import Ġrobust . tok op edia . R Ċ import Ġjava . lang . reflect . Field Ċ Ċ class ĠThird Activity Ġ: ĠAppCompatActivity (), ĠView . OnClickListener Ġ{ ĊĠĠĠ Ġprivate Ġvar ĠlistView : ĠListView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġmulti Arr Ġ= ĠarrayOf (" åĪĹè¡¨ 1 ", Ġ" åĪĹè¡¨ 2 ", Ġ" åĪĹè¡¨ 3 ", Ġ" åĪĹè¡¨ 4 ") ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main 2 ) ĊĠĠĠĠĠĠĠ ĠlistView Ġ= ĠfindViewById < View >( R . id . list view ) Ġas ĠListView ĊĠĠĠĠĠĠĠ Ġval ĠtextView Ġ= ĠfindViewById < View >( R . id . second text ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ ĠtextView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRob ust Modify . modify () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ("", Ġ" Ġonclick Ġ Ġin ĠListener ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// change Ġtext Ġon Ġthe Ġ ĠSecond Activity ĊĠĠĠĠĠĠĠ ĠtextView . text Ġ= Ġtext Info ĊĠĠĠĠĠĠĠ Ġ// test Ġarray ĊĠĠĠĠĠĠĠ Ġval Ġadapter : ĠBase Adapter Ġ= ĠArray Adapter ( this , Ġandroid . R . layout . simple _ expand able _ list _ item _ 1 , Ġmulti Arr ) ĊĠĠĠĠĠĠĠ ĠlistView !!. adapter Ġ= Ġadapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġreturn Ġ" error Ġfixed "; ĊĠĠĠ Ġ@ get : Modify ĊĠĠĠ Ġval Ġtext Info : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarray ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" error Ġoccur Ġ" Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" error Ġfixed "; ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ get : Add ĊĠĠĠ Ġval Ġarray : ĠArray < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠarrayOf (" hello ", Ġ" world ") ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( name : ĠString , Ġcontext : ĠContext , Ġattrs : ĠAttributeSet ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate View ( name , Ġcontext , Ġattrs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this @ Third Activity , Ġ" from Ġimplements Ġonclick Ġ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġname Ġ= Ġ" Second Activity " ĊĠĠĠĠĠĠĠ Ġ@ Throws ( NoSuch Field Exception :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġget Reflect Field ( name : ĠString , Ġinstance : ĠAny ): ĠField Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġclazz : ĠClass < *> ? Ġ= Ġinstance . java Class ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( clazz Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfield Ġ= Ġclazz . getDeclared Field ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! field . is Accessible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield . is Accessible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNoSuch Field Exception ) Ġ{ Ġ// Ġignore Ġand Ġsearch Ġnext ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclazz Ġ= Ġclazz . super class ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNoSuch Field Exception (" Field Ġ" Ġ+ Ġname Ġ+ Ġ" Ġnot Ġfound Ġin Ġ" Ġ+ Ġinstance . java Class ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget FieldValue ( name : ĠString , Ġinstance : ĠAny ): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġget Reflect Field ( name , Ġinstance )[ instance ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ("", Ġ" getField Ġerror Ġ$ name ĠĠ Ġtarget ĠĠ Ġ$ instance ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }