package Ġcom . mp article . inspector . custom views Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġcom . mp article . inspector . R Ċ Ċ class ĠJson Item View Ġ@ Jvm Over loads Ġconstructor ( private Ġval ĠmContext : ĠContext , Ġattrs : ĠAttributeSet ? Ġ= Ġnull , Ġdef Style Attr : ĠInt Ġ= Ġ 0 ) Ġ: ĠLinearLayout ( mContext , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġkey TextView : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġvalue TextView : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġicon : ĠImageView ĊĠĠĠ Ġprivate Ġvar Ġtext Size Ġ= Ġ 1 2 ĊĊĠĠĠ Ġvar Ġvalue : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġvalue TextView . text . toString () ĊĠĠĠĠĠĠĠ Ġset ( text ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue TextView . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue TextView . text Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġorientation Ġ= ĠLinearLayout . VERTICAL ĊĠĠĠĠĠĠĠ ĠLayoutInflater . from ( mContext ). inflate ( R . layout . item _ recyclerview _ json , Ġthis , Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġkey TextView Ġ= ĠfindViewById ( R . id . key ) ĊĠĠĠĠĠĠĠ Ġvalue TextView Ġ= ĠfindViewById ( R . id . value ) ĊĠĠĠĠĠĠĠ Ġicon Ġ= ĠfindViewById ( R . id . icon ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Text Size ( text Size Dp : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Size Ġ= Ġtext Size Dp . toInt () ĊĊĠĠĠĠĠĠĠ Ġkey TextView . text Size Ġ= Ġtext Size . toFloat () ĊĠĠĠĠĠĠĠ Ġvalue TextView . text Size Ġ= Ġtext Size . toFloat () ĊĠĠĠĠĠĠĠ Ġvalue TextView . setTextColor ( Json View Adapter . textColor ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtext Size Ġ= ĠTyped Value . apply Dimension ( Typed Value . COMPLEX _ UNIT _ DIP , Ġtext Size Dp , Ġresources . display Metrics ). toInt () ĊĊĠĠĠĠĠĠĠ Ġval Ġlayout Params Ġ= Ġicon . layout Params Ġas ĠLinearLayout . LayoutParams ĊĠĠĠĠĠĠĠ Ġlayout Params . height Ġ= Ġtext Size ĊĠĠĠĠĠĠĠ Ġlayout Params . width Ġ= Ġtext Size ĊĠĠĠĠĠĠĠ Ġlayout Params . top Margin Ġ= Ġtext Size Ġ/ Ġ 5 ĊĊĠĠĠĠĠĠĠ Ġicon . layout Params Ġ= Ġlayout Params ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Right Color ( color : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvalue TextView . setTextColor ( color ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhide Left () Ġ{ ĊĠĠĠĠĠĠĠ Ġkey TextView . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Key ( text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġkey TextView . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġkey TextView . text Ġ= Ġtext ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhide Icon () Ġ{ ĊĠĠĠĠĠĠĠ Ġicon . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Icon ( is Plus : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġicon . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġicon . setImage Resource ( if Ġ( is Plus ) ĠR . drawable . plus Ġelse ĠR . drawable . minus ) ĊĠĠĠĠĠĠĠ Ġicon . content Description Ġ= Ġresources . getString ( if Ġ( is Plus ) ĠR . string . plus Ġelse ĠR . string . minus ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Icon ClickListener ( listener : ĠView . OnClickListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġicon . setOnClickListener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd View No Invalidate ( child : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġparams : ĠViewGroup . LayoutParams ? Ġ= Ġchild . layout Params ĊĠĠĠĠĠĠĠ Ġif Ġ( params Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams Ġ= Ġgenerate Default LayoutParams () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" generate Default LayoutParams () Ġcannot Ġreturn Ġnull ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġadd View In Layout ( child , Ġ- 1 , Ġparams ) ĊĠĠĠ Ġ} Ċ }