How can I do something, 0.5 second after text changed in my EditText?

前端 未结 14 1179
渐次进展
渐次进展 2020-12-23 08:49

I am filtering my list using an EditText. I want to filter the list 0.5 second after user has finished typing in EditText. I used the afterTextChanged

14条回答
  •  情话喂你
    2020-12-23 09:37

    In Kotlin Language you can do like this

    tv_search.addTextChangedListener(mTextWatcher)
    
    private val mTextWatcher: TextWatcher = object : TextWatcher {
            private var timer = Timer()
            private val DELAY: Long = 1000L
    
            override fun afterTextChanged(s: Editable?) {
                timer.cancel()
                timer = Timer()
                timer.schedule(object : TimerTask() {
                    override fun run() {
                             //DO YOUR STUFF HERE
                    }
                }, DELAY)
            }
    
            override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
            }
    
            override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
            }
    
        }
    

提交回复
热议问题