我试图消除 Android Studio 希望我的 onTouchListener 覆盖我所做的 performClick 的警告,但警告仍然存在。
draggableBar!!.setOnTouchListener(View.OnTouchListener { view, motionEvent ->
when (motionEvent.getAction()) {
MotionEvent.ACTION_DOWN -> {
}
MotionEvent.ACTION_UP -> {
view.performClick()
}
}
return@OnTouchListener true
})
这可能是 Android Studio 错误还是我做错了什么?
最佳答案
好吧,我有同样的问题,但我通过覆盖 onTouch 监听器解决了它。
默认的 onTouch 要我们重写 performClick(),但这即使通过 view.performClick() 调用该方法也不起作用。
因此,像这样覆盖你的 onTouch:
override fun onTouch(view: View, motionEvent: MotionEvent): Boolean {
when (view) {
draggableBar -> {
when (motionEvent.getAction()) {
MotionEvent.ACTION_DOWN -> {
}
MotionEvent.ACTION_UP -> {
view.performClick()
}
}
}
otherButtonHere -> {
//your welcome
}
}
return true
}
这样,您可以在所有可点击的 View 中使用单个 onTouch()。
不要忘记在您的类(class)中实现:
View.OnTouchListener
并设置监听器:
draggableBar!!.setOnTouchListener(this)
希望对您有所帮助! :)
关于Android kotlin onTouchListener 要我覆盖 performClick(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46171379/