package Ġcn . z fs . widget demo Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcn . wand ers nail . commons . helper . Permissions Request er Ċ import Ġcn . wand ers nail . commons . util . Logger Ċ import Ġcn . wand ers nail . commons . util . Toast Utils Ċ import Ġcn . wand ers nail . widget . list view . Base ListAdapter Ċ import Ġcn . wand ers nail . widget . list view . Base ViewHolder Ċ import Ġcn . wand ers nail . widget . list view . In fl ated ViewHolder Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . util .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġrequest er : ĠPermissions Request er ? Ġ= Ġnull ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġarray ListOf (" åĢ ¾ æĸ ľ TextView ", Ġ" Switch Button ", Ġ" åı¯ æ»ĳ åĬ¨ æłĩçŃ¾ éĢīæĭ© ", Ġ" åı¯ æĭ ĸ æĭ ½ æĿ¡ çĽ® åĪĹè¡¨ ", Ġ" åľĨ è§Ĵ åĽ¾çīĩ ", Ġ" åľĨ è§Ĵ æĮīéĴ® ", Ġ" åĪ» åº¦ å° º ", Ġ" æĸĩæľ¬ éĢīæĭ© åĻ¨ ", Ġ" å¯¹ è¯Ŀ æ¡Ĩ ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" éĺ² æŃ¢ å¿«éĢŁ çĤ¹åĩ» ", Ġ" åı¯ å±ķ å¼Ģ View ") ĊĠĠĠĠĠĠĠ Ġval Ġcls Arr Ġ= Ġarray ListOf ( Rot atable TextView Activity :: class . java , ĠSwitch Button Activity :: class . java , ĠHorizontal Label Picker Activity :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDrag Swipe Item Activity :: class . java , ĠRound Image Activity :: class . java , ĠRound Button Activity :: class . java , ĠScale View Activity :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Picker Activity :: class . java , ĠDefault AlertDialog Activity :: class . java , ĠReject Fast Click Activity :: class . java , ĊĠĠĠĠĠĠĠ ĠExpand ableView Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġlv . adapter Ġ= Ġobject Ġ: ĠBase ListAdapter < String >( this , Ġdata ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ViewHolder ( position : ĠInt ): ĠBase ViewHolder < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠIn fl ated ViewHolder < String >( context , Ġandroid . R . layout . simple _ list _ item _ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġvar Ġtv : ĠTextView Ġ= Ġget View ( android . R . id . text 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ( item : ĠString , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv . text Ġ= Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlv . setOn ItemClickListener Ġ{ Ġ_, Ġ_, Ġposition , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , Ġcls Arr [ position ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" title ", Ġdata [ position ]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠLogger . set Print Level ( Logger . ALL ) ĊĠĠĠĠĠĠĠ Ġrequest er Ġ= ĠPermissions Request er ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠ Ġlist . add ( Manifest . permission . WRITE _ EXTERNAL _ STORAGE ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Manifest . permission . ACCESS _ CO AR SE _ LOCATION ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Manifest . permission . ACCESS _ F INE _ LOCATION ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Manifest . permission . ACCESS _ NETWORK _ STATE ) ĊĠĠĠĠĠĠĠ Ġrequest er ?. check And Request ( list ) ĊĠĠĠĠĠĠĠ Ġrequest er ?. set Callback Ġ{ Ġrefused Permissions Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ref used Permissions . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . show Short (" éĥ¨åĪĨ æĿĥéĻĲ è¢« æĭ Ĵ ç»Ŀ ï¼Į åı¯èĥ½ éĢł æĪĲ æŁĲ äºĽ åĬŁèĥ½ æĹłæ³ķ ä½¿çĶ¨ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġrequest er ?. on Activity Result ( request Code ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Request Permissions Result ( request Code : ĠInt , Ġpermissions : ĠArray < out ĠString >, Ġgrant Results : ĠInt Array ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Request Permissions Result ( request Code , Ġpermissions , Ġgrant Results ) ĊĠĠĠĠĠĠĠ Ġrequest er ?. on Request Permissions Result ( request Code , Ġpermissions , Ġgrant Results ) ĊĠĠĠ Ġ} Ċ } Ċ