我正试图摆脱警告,其中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的错误还是我做错了什么?
答案 0 :(得分:1)
好的,我有同样的问题,但我通过覆盖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
}
通过这种方式,您可以在所有可点击的视图中使用单个onTouch()。
别忘了向班级实施:
View.OnTouchListener
设置监听器:
draggableBar!!.setOnTouchListener(this)
希望它有所帮助! :)