gpt4 book ai didi

java - 我的 Activity 是否可以将生成的触摸/运动事件发送到其 subview ?

转载 作者:行者123 更新时间:2023-11-30 03:54:03 24 4
gpt4 key购买 nike

我有一个生成一些 MotionEventActivity(通过 MotionEvent.obtain())。我想将这些生成的触摸/ Action 事件传递给 Activity 的 subview 。从文档中,Activity.onTouchEvent() 仅在其中一个 subview 未处理事件时调用,这意味着我无法调用它来将生成的触摸事件传递给 subview 。

有没有一种方法可以将生成的触摸事件从父 MainActivity 发送到其 subview ,以它们通常响应的方式(例如,如果 subview 设置了 OnClickListener,我将生成的向下/向上触摸事件发送到 subview ,我希望调用 OnClickListener)?

请注意,我并没有尝试将触摸事件从一个 Activity 发送到另一个 Activity ,这一切都在我自己的应用程序中。此外,我的设备没有获得 root 权限,因此需要 root 权限的解决方案对我没有帮助。

最佳答案

刚刚想通了。解决方案是使用 Activity.dispatchTouchEvent() .例如,以下在我的 View 中注册为点击事件:

dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 200, 200, 0));
dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, 200, 200, 0));

关于java - 我的 Activity 是否可以将生成的触摸/运动事件发送到其 subview ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13631539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com