package Ġcom . rok sky . form _ renderer . view holder Ċ Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . widget . AppCompat EditText Ċ import Ġandroidx . appcompat . widget . AppCompat TextView Ċ import Ġcom . rok sky . form _ renderer . R Ċ import Ġcom . rok sky . form _ renderer . listener . Reload Listener Ċ import Ġcom . rok sky . form _ renderer . model . Base Element Ċ import Ġcom . rok sky . form _ renderer . model . Element Value Ċ import Ġcom . rok sky . form _ renderer . model . Element Picker Single Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠR idd hi Ġ- ĠR ud ra Ġon Ġ 3 0 - Jul - 1 7 . Ċ Ġ*/ Ċ class ĠElement Picker Single ViewHolder ( ĊĠĠĠ Ġv : ĠView , ĊĠĠĠ Ġcontext : ĠContext ?, ĊĠĠĠ Ġreload Listener : ĠRe load Listener Ċ ) Ġ: ĠBase ViewHolder < Element Value < *> >( v ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġm TextView Title : ĠAppCompat TextView Ġ= Ġv . findViewById ( R . id . form Element Title ) ĊĠĠĠ Ġprivate Ġval Ġm EditText Value : ĠAppCompat EditText Ġ= Ġv . findViewById ( R . id . form Element Value ) ĊĠĠĠ Ġprivate Ġval Ġm Reload Listener : ĠRe load Listener Ġ= Ġreload Listener ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Form Element Picker Single : ĠElement Picker Single ĊĠĠĠ Ġprivate Ġvar Ġm Position Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( position : ĠInt , Ġelement : ĠBase Element < Element Value <* >>, Ġcontext : ĠContext ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Position Ġ= Ġposition ĊĠĠĠĠĠĠĠ Ġm Form Element Picker Single Ġ= Ġelement Ġas ĠElement Picker Single ĊĠĠĠĠĠĠĠ Ġm TextView Title . text Ġ= Ġelement . title ĊĠĠĠĠĠĠĠ Ġm EditText Value . setText ( element . value ?. to Display Value ()) ĊĠĠĠĠĠĠĠ Ġm EditText Value . hint Ġ= Ġelement . hint ĊĠĠĠĠĠĠĠ Ġm EditText Value . is Focus able In Touch Mode Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġ// Ġre format Ġthe Ġoptions Ġin Ġformat Ġneeded ĊĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= ĠarrayOf Null s < String >( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Form Element Picker Single . options . size ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġm Form Element Picker Single . options . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions [ i ] Ġ= Ġm Form Element Picker Single . options [ i ]. to Display Value () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= ĠAlertDialog . Builder ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( m Form Element Picker Single . picker Title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Items ( options ) Ġ{ Ġdialog , Ġwhich Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm EditText Value . setText ( options [ which ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Form Element Picker Single . value Ġ= Ġm Form Element Picker Single . options [ which ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Reload Listener . update Value ( position , Ġm Form Element Picker Single . options [ which ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠĠĠĠĠ Ġm EditText Value . setOnClickListener Ġ{ Ġdialog . show () Ġ} ĊĠĠĠĠĠĠĠ Ġm TextView Title . setOnClickListener Ġ{ Ġdialog . show () Ġ} ĊĊĠĠĠĠĠĠĠ Ġif ( element . readOnly ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm EditText Value . isEnabled Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġif ( element . isRequired ) Ġm TextView Title . mark Required () ĊĠĠĠ Ġ} Ċ Ċ }