/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 Ġby Ġu is Ċ Ġ* ĠAuthor : Ġu is Ċ Ġ* ĠGithub : Ġhttps :// github . com / l ui ing Ċ Ġ*/ Ċ Ċ package Ġcom . uis . ad sor b ent . demo Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . uis . ad sor b ent . Single Ad sor b ent Listener Ċ import Ġcom . uis . ad sor b ent . demo . holder . Demo Group Adapter Ċ import Ġcom . uis . ad sor b ent . demo . holder . VT _ PIN _ SINGLE Ċ import Ġcom . uis . ad sor b ent . demo . holder . VT _ TXT Ċ import Ġcom . uis . ad sor b ent . demo . holder . VT _ TXT _ BLUE Ċ import Ġcom . uis . group adapter . Group Entity Ċ import Ġcom . uis . group ad ater . demo . R Ċ import Ġkotlinx . android . synt hetic . main . ui _ demo .* Ċ import Ġkotlinx . android . synt hetic . main . ui _ view _ pin . view .* ĊĊ Ċ class ĠSingle Recycler Ui : ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġval Ġadapter Ġ= ĠDemo Group Adapter () ĊĠĠĠ Ġlateinit Ġvar Ġpin : ĠView ĊĠĠĠ Ġlateinit Ġvar Ġmanager : ĠLinearLayoutManager ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . ui _ demo ) ĊĠĠĠĠĠĠĠ Ġpin Ġ= Ġlayout Inflater . inflate ( R . layout . ui _ view _ pin , null ) ĊĠĠĠĠĠĠĠ Ġpin . bt _ add . setOnClickListener { ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpin . bt _ clear . setOnClickListener { ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 0 Ġuntil Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Entity ( Group Entity ( VT _ TXT , Ġ" txt Ġ$ i ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 0 Ġuntil Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Entity ( Group Entity ( VT _ TXT _ BLUE , Ġ" txt Ġblue Ġ$ i ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 0 Ġuntil Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Entity ( Group Entity ( VT _ TXT , Ġ" txt Ġposition Ġ$ i ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġadapter . add Entity ( Group Entity ( VT _ PIN _ SINGLE , pin )) ĊĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 0 Ġuntil Ġ 5 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Entity ( Group Entity ( VT _ TXT , Ġ" txt Ġbottom Ġ$ i ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġmanager Ġ= ĠLinearLayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . enable Conflict Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= Ġmanager ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġre cyclerView . add On Scroll Listener ( object Ġ: ĠSingle Ad sor b ent Listener (){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** Ġèİ·åıĸ è¢« åĲ ¸ é¡¶ ViewGroup */ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Ui ViewGroup (): ĠViewGroup Ġ= Ġrelative ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** Ġèİ·åıĸ åĲ ¸ é¡¶ View */ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Pin View (): ĠView Ġ= Ġpin ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** Ġèİ·åıĸ åĲ ¸ é¡¶ View åľ¨ RecyclerView ä¸ŃçļĦ ä½įç½® */ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Pin View Position (): ĠInt Ġ= Ġ 9 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġstop When Ad sor b ent (): ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĊ Ċ }