package Ġcom . ye ch ao a . wan android _ jet pack . ui . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġcom . ch ad . library . adapter . base . Base Quick Adapter Ċ import Ġcom . ch ad . library . adapter . base . view holder . Base ViewHolder Ċ import Ġcom . ye ch ao a . wan android _ jet pack . R Ċ import Ġcom . ye ch ao a . wan android _ jet pack . data . bean . Tree Ċ import Ġcom . ye ch ao a . wan android _ jet pack . util . random Color Ċ import Ġcom . z hy . view . flow layout . Flow Layout Ċ import Ġcom . z hy . view . flow layout . Tag Adapter Ċ import Ġcom . z hy . view . flow layout . Tag Flow Layout Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġy ech ao a Ġon Ġ 2 0 2 1 / 2 / 4 . Ċ Ġ* ĠDescribe Ġ: Ċ Ġ*/ Ċ class ĠTree Adapter Ġ: ĠBase Quick Adapter < Tree , ĠBase ViewHolder >( R . layout . item _ tree ), ĠTag Flow Layout . On Tag ClickListener Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġconvert ( holder : ĠBase ViewHolder , Ġitem : ĠTree ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . setText ( R . id . tv _ tree _ title , Ġitem . name ) ĊĊĠĠĠĠĠĠĠ Ġval Ġflow Layout Ġ= Ġholder . getView < Tag Flow Layout >( R . id . flow _ layout ) ĊĊĠĠĠĠĠĠĠ Ġ// æł¹æį® çĬ¶æĢģ å¤ĦçĲĨ æĺ¾ç¤º ç»ĵæŀľ ĊĠĠĠĠĠĠĠ Ġif Ġ( item . is Show ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflow Layout . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . setImage Resource ( R . id . iv _ toggle , ĠR . mip map . ic _ up ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflow Layout . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . setImage Resource ( R . id . iv _ toggle , ĠR . mip map . ic _ down ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġflow Layout . adapter Ġ= Ġobject Ġ: ĠTag Adapter < Tree . Children >( item . children ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget View ( parent : ĠFlow Layout , Ġposition : ĠInt , Ġs : ĠTree . Children ): ĠView Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtv Tag Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . item _ tree _ item , Ġflow Layout , Ġfalse ) Ġas ĠTextView ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Tag . text Ġ= Ġs . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Tag . setTextColor ( random Color ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtv Tag ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// è®¾ç½® çĤ¹åĩ» äºĭä»¶ ĊĠĠĠĠĠĠĠ Ġflow Layout . setOn Tag ClickListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å®ļä¹ī æİ¥åı£ , æ¯Ķ åİŁ æĿ¥ æİ¥åı£ å¤ļ ä¸Ģä¸ª parent Position åıĤæķ° ï¼Į çĪ¶ view çļĦ position ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinterface ĠOn Item Tag ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Item Tag Click ( view : ĠView ?, Ġposition : ĠInt , Ġparent : ĠFlow Layout ?): ĠBoolean ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġm On Item Tag ClickListener : ĠOn Item Tag ClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»Ļ adapter æ·»åĬł äºĭä»¶ æĸ¹æ³ķ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset On Item Tag ClickListener ( listener : ĠOn Item Tag ClickListener ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . m On Item Tag ClickListener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġåľ¨ äºĭä»¶ ä¸Ń ä¼łåħ¥ èĩªå®ļä¹ī æİ¥åı£ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Tag Click ( view : ĠView ?, Ġposition : ĠInt , Ġparent : ĠFlow Layout ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġm On Item Tag ClickListener ?. on Item Tag Click ( view , Ġposition , Ġparent ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ Ċ }