Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class RvAdapter : RecyclerView.Adapter<RvAdapter.MyHolder>() {
- lateinit var valveList: MutableList<Valve>
- fun setList(list: MutableList<Valve>) {
- valveList = list
- }
- inner class MyHolder(private val binding: ItemEtBinding) :
- RecyclerView.ViewHolder(binding.root) {
- private fun restoreValveParams(editText: EditText, param: Double?) {
- if (param != null) {
- editText.text = SpannableStringBuilder(param.toString())
- }
- }
- fun bind(valve: Valve, position: Int) {
- with(binding) {
- restoreValveParams(etMeasuredGap, valve.measuredGap)
- restoreValveParams(etWasher, valve.washer)
- number.text = position.toString()
- etMeasuredGap.addTextChangedListener(myTextWatcher { inGapSize ->
- valve.measuredGap =
- if (inGapSize!!.isNotEmpty()) inGapSize.toString().toDouble() else 0.0
- })
- etWasher.addTextChangedListener(myTextWatcher { w ->
- valve.washer =
- if (w!!.isNotEmpty()) w.toString().toDouble() else 0.0
- })
- }
- }
- }
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyHolder {
- return MyHolder(
- ItemEtBinding.inflate(
- LayoutInflater.from(parent.context),
- parent,
- false
- )
- )
- }
- override fun onBindViewHolder(holder: MyHolder, position: Int) {
- holder.bind(valveList[position], position)
- }
- override fun getItemCount(): Int {
- return valveList.size
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement