package Ġcom . unnamed . b . at v . sample . holder Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . CheckBox Ċ import Ġandroid . widget . TextView Ċ import Ġcom . github . john k il . print . Print View Ċ import Ġcom . unnamed . b . at v . model . TreeNode Ċ import Ġcom . unnamed . b . at v . sample . R Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠB og dan ĠMel nych uk Ġon Ġ 2 / 1 5 / 1 5 , Ġmodified Ġby ĠS zi get i ĠPeter Ġ 2 / 2 / 1 6 . Ċ Ġ*/ Ċ class ĠArrow Expand Selectable Header Holder ( context : ĠContext ) Ġ: ĠTreeNode . Base Node ViewHolder < Icon TreeItem Holder . Icon TreeItem >( context ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġtv Value : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġarrow View : ĠPrint View ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġnode Selector : ĠCheckBox ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Node View ( node : ĠTreeNode , Ġvalue : ĠIcon TreeItem Holder . Icon TreeItem ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . layout _ selectable _ header , Ġnull , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġtv Value Ġ= Ġview . findViewById ( R . id . node _ value ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġtv Value !!. text Ġ= Ġvalue . text ĊĊĠĠĠĠĠĠĠ Ġval Ġicon View Ġ= Ġview . findViewById ( R . id . icon ) Ġas ĠPrint View ĊĠĠĠĠĠĠĠ Ġicon View . icon Text Ġ= Ġcontext . resources . getString ( value . icon ) ĊĊĠĠĠĠĠĠĠ Ġarrow View Ġ= Ġview . findViewById ( R . id . arrow _ icon ) Ġas ĠPrint View ĊĠĠĠĠĠĠĠ Ġarrow View !!. set Padding ( 2 0 , Ġ 1 0 , Ġ 1 0 , Ġ 1 0 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( node . is Leaf ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarrow View !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarrow View !!. setOnClickListener Ġ{ Ġtree View !!. toggle Node ( node ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġnode Selector Ġ= Ġview . findViewById ( R . id . node _ selector ) Ġas ĠCheckBox ĊĠĠĠĠĠĠĠ Ġnode Selector !!. setOn Checked ChangeListener Ġ{ Ġbutton View , Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode . isSelected Ġ= Ġis Checked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( n Ġin Ġnode . getChildren ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtree View !!. select Node ( n , Ġis Checked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnode Selector !!. isChecked Ġ= Ġnode . isSelected ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtoggle ( active : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġarrow View !!. icon Text Ġ= Ġcontext . resources . getString ( if Ġ( active ) ĠR . string . ic _ keyboard _ arrow _ down Ġelse ĠR . string . ic _ keyboard _ arrow _ right ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtoggle Selection Mode ( edit Mode Enabled : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnode Selector !!. visibility Ġ= Ġif Ġ( edit Mode Enabled ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠĠĠĠĠ Ġnode Selector !!. isChecked Ġ= Ġm Node !!. isSelected ĊĠĠĠ Ġ} Ċ } Ċ