package Ġcom . zp . z photo . sample . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġcom . zp . z photo . R Ċ Ċ class ĠCount View Ġ: ĠLinearLayout , ĠView . OnClickListener Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġvalue Txt : ĠTextView ĊĊĠĠĠ Ġconstructor ( context : ĠContext ?) Ġ: Ġthis ( context , Ġnull ) ĊĠĠĠ Ġconstructor ( context : ĠContext ?, Ġattrs : ĠAttributeSet ?) Ġ: Ġthis ( context , Ġattrs , Ġ 0 ) ĊĠĠĠ Ġconstructor ( context : ĠContext ?, Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ ĠView . inflate ( context , ĠR . layout . layout _ count _ view , Ġthis ) ĊĠĠĠĠĠĠĠ ĠfindViewById < TextView >( R . id . count _ layout _ add ). setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ ĠfindViewById < TextView >( R . id . count _ layout _ subtract ). setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġvalue Txt Ġ= ĠfindViewById ( R . id . count _ layout _ edit ) ĊĠĠĠĠĠĠĠ Ġvalue Txt . setOnClickListener ( this ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( v . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . count _ layout _ add Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcount Ġ= Ġvalue Txt . text . toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Txt . text Ġ= Ġ"${ ++ count }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . count _ layout _ subtract Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcount Ġ= Ġvalue Txt . text . toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Ġ- Ġ 1 Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Txt . text Ġ= Ġ" 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Txt . text Ġ= Ġ"${ count Ġ- Ġ 1 }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetValue () Ġ= Ġvalue Txt . text . toString (). toInt () ĊĊĠĠĠ Ġfun ĠsetValue ( value : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvalue Txt . text Ġ= Ġ"$ value " ĊĠĠĠ Ġ} Ċ Ċ }