Search code examples
androidkotlinontouchlistener

Override PerfomClick Kotlin


Im trying to get a drawableLeft cross icon in a editText, to clean it, but I dont know how to override the perfomClick() method on kotlin language, because it seems that kotlin doesn't recognizes perfomclick. Here is my override code for the onTouch event.

override fun onTouch(v: View, event: MotionEvent): Boolean {
            super.onTouchEvent(event)

            when(event.action){
                MotionEvent.ACTION_UP -> {
                    Log.i("TAg", "Action Up")
                    et_email.performClick()
                    if(event.getRawX() >= (et_email.getRight() - et_email.getCompoundDrawables()[2].getBounds().width())) {
                        et_email.setText("")
                        Log.i("TAg", "Action Up")
                        return true
                    }
                }

                MotionEvent.ACTION_DOWN -> {
                    Log.i("TAg", "Action Down")
                    et_email.performClick()
                    return true
                }
            }

            return false
        }

The warning appears inside onCreate method, when I call the setOnTouchListener like this.

et_email.setOnTouchListener(this)

Solution

  • To override perfomClick(), use:

    override fun performClick(): Boolean {
        super.performClick()
        // your logic here
        return true // or return false, if you like
    }