package Ġcom . example . z uk key . group ies ample of master Ċ Ċ import Ġcom . x wr ay . group ie . Expand able Group Ċ import Ġcom . x wr ay . group ie . Expand able Item Ċ import Ġcom . x wr ay . group ie . kotlin and roi dex t ensions . Item Ċ import Ġcom . x wr ay . group ie . kotlin and roi dex t ensions . ViewHolder Ċ import Ġkotlinx . android . synt hetic . main . item _ expand able _ header .* ĊĊ Ċ class ĠExpand able Header Item ( private Ġval Ġtitle : ĠString ) Ġ: ĠItem (), ĠExpand able Item Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġexpand able Group : ĠExpand able Group ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( view Holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewHolder . item _ expand able _ header _ title . text Ġ= Ġtitle ĊĠĠĠĠĠĠĠ ĠviewHolder . item _ expand able _ header _ icon . setImage Resource ( get Rot ated Icon Res Id ()) ĊĠĠĠĠĠĠĠ ĠviewHolder . item _ expand able _ header _ root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpand able Group . on Toggle Expanded () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . item _ expand able _ header _ icon . setImage Resource ( get Rot ated Icon Res Id ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout (): ĠInt Ġ= ĠR . layout . item _ expand able _ header ĊĊĠĠĠ Ġoverride Ġfun Ġset Expand able Group ( on Toggle Listener : ĠExpand able Group ) Ġ{ ĊĠĠĠĠĠĠĠ Ġexpand able Group Ġ= Ġon Toggle Listener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Rot ated Icon Res Id () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( expand able Group . is Expanded ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ keyboard _ arrow _ up _ black _ 2 4 dp ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ keyboard _ arrow _ down _ black _ 2 4 dp Ċ }