在 EditText 为空时设置 Text 0,并在用户开始在 Android Kotlin 中的 EditText 中输入值时删除该 0

问题描述 投票:0回答:1

当 EditText 为空时设置文本 0 和当用户开始在 EditText 中键入值时删除 Android kotlin 中的 0

我尝试过 Textwatcher afterTextChanged 并实现了多个条件,但没有一个起作用......

android kotlin validation input android-edittext
1个回答
0
投票

val 计算TextWatcher: TextWatcher = 对象: TextWatcher { 覆盖 fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {

        }

        override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
        }

        override fun afterTextChanged(p0: Editable?) {
            if (holder.binding.tvBagsBuyerAuctionItemAdapter.text.toString().isNullOrBlank()) {
                holder.binding.tvBagsBuyerAuctionItemAdapter.setText("0")
                holder.binding.tvBagsBuyerAuctionItemAdapter.setSelection(1)
            }
            if (holder.binding.tvBagsBuyerAuctionItemAdapter.text.toString().length >= 2 && holder.binding.tvBagsBuyerAuctionItemAdapter.text.toString()
                    .startsWith("0")
            ) {
                val subStr =
                    holder.binding.tvBagsBuyerAuctionItemAdapter.text.toString().substring(1)
                holder.binding.tvBagsBuyerAuctionItemAdapter.setText(subStr)
                holder.binding.tvBagsBuyerAuctionItemAdapter.setSelection(1)
            }
            
        }
    }

这完全没问题......!

© www.soinside.com 2019 - 2024. All rights reserved.