繁体   English   中英

OnTouchListener 在导航到另一个片段时不记录 ACTION_UP

[英]OnTouchListener doesn't record ACTION_UP when navigating to another fragment

在用一根手指按住按钮并用另一根手指导航到另一个片段时,MotionEvent.ACTION_UP 在下一个片段中抬起手指后不会触发,或者根本不会触发。

view.findViewById<Button>(R.id.button).setOnTouchListener(OnTouchListener { _, event ->
    when (event.action) {
        MotionEvent.ACTION_DOWN -> {             // PRESSED
            doAction(true)
            return@OnTouchListener true
        }
        MotionEvent.ACTION_UP -> {                // RELEASED
            doAction(false)
            return@OnTouchListener true
        }
    }
    false
})

我该如何解决这个问题?

尝试捕捉MotionEvent.ACTION_CANCELACTION_UP表示用户故意从View中移除手指,在您的情况下手指仍然存在(触摸屏),但框架可能会在离开Fragment /销毁View时关闭/取消所有MotionEvent s

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM