Advertisement
i_trunker

Untitled

Mar 22nd, 2021
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.95 KB | None | 0 0
  1.     class RvAdapter : RecyclerView.Adapter<RvAdapter.MyHolder>() {
  2.         lateinit var valveList: MutableList<Valve>
  3.         fun setList(list: MutableList<Valve>) {
  4.             valveList = list
  5.  
  6.         }
  7.  
  8.         inner class MyHolder(private val binding: ItemEtBinding) :
  9.             RecyclerView.ViewHolder(binding.root) {
  10.  
  11.             private fun restoreValveParams(editText: EditText, param: Double?) {
  12.                 if (param != null) {
  13.                     editText.text = SpannableStringBuilder(param.toString())
  14.                 }
  15.  
  16.             }
  17.  
  18.             fun bind(valve: Valve, position: Int) {
  19.  
  20.  
  21.                 with(binding) {
  22.                     restoreValveParams(etMeasuredGap, valve.measuredGap)
  23.                     restoreValveParams(etWasher, valve.washer)
  24.  
  25.                     number.text = position.toString()
  26.  
  27.                     etMeasuredGap.addTextChangedListener(myTextWatcher { inGapSize ->
  28.                         valve.measuredGap =
  29.                             if (inGapSize!!.isNotEmpty()) inGapSize.toString().toDouble() else 0.0
  30.                     })
  31.                     etWasher.addTextChangedListener(myTextWatcher { w ->
  32.                         valve.washer =
  33.                             if (w!!.isNotEmpty()) w.toString().toDouble() else 0.0
  34.                     })
  35.  
  36.                 }
  37.                
  38.             }
  39.            
  40.            
  41.  
  42.         }
  43.  
  44.         override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyHolder {
  45.             return MyHolder(
  46.                 ItemEtBinding.inflate(
  47.                     LayoutInflater.from(parent.context),
  48.                     parent,
  49.                     false
  50.                 )
  51.             )
  52.         }
  53.  
  54.         override fun onBindViewHolder(holder: MyHolder, position: Int) {
  55.             holder.bind(valveList[position], position)
  56.  
  57.         }
  58.  
  59.         override fun getItemCount(): Int {
  60.             return valveList.size
  61.         }
  62.     }
  63.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement