Activity之间的事件透传? 现在有两个Activity,一个A在前面,一个B在后面,现在点击屏幕down,up,A页面不处理,全部交给B去处理,如何做到?,还是可以依靠其他控件做到? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 说白了,B的作用是,App做一下事情,不想用户知道 不在栈顶显示的activity甚至可能被回收,activity实现这个效果的话实在是不现实。实在想做可以换成fragment试试 屏幕点击,在Activity的窗口层级下,事件是无法跨activity传递的,A页面也无法改动,改动的只有B页面 目前看,可以用windowManager,弹出一个window处理,fragment要跟Activity绑定,Activity被销毁就尴尬了 不想让用户知道,你可以用service啊 放在一个页面解决一切问题或者重写dispatchTouchEvent事件将事件用eventbus全部发送给a界面并删掉super,然后a界面调用dispatchTouchEvent 采用过滤器模式,A、B直接增加Filter,把需要B处理的消息透传给B即可。 过滤器模式可以试试,重写dispatchTouchEvent事件将事件用eventbus全部发送给a界面并删掉super,然后a界面调用dispatchTouchEvent这个方式在前面已经试过不起作用,a页面没有任何事件 我还特意试了一下,不知道你是怎么没用的mainAcitivity protecte void onCreate(@Nullable Bundle savedInstanceState) { EventBus.getDefault().register(this); } protected void onDestroy() { EventBus.getDefault().unregister(this); super.onDestroy(); } @Subscribe public void onTe(MotionEvent ev) { dispatchTouchEvent(ev); Utils.toastInstance("ev分发"); }他上面的Activity @Override public boolean dispatchTouchEvent(MotionEvent ev) { EventBus.getDefault().post(ev); return true; }没有任何问题,所有事件全部传到mainActivity了 main里面有点击事件,逻辑是跳转,随便点都有效果 Android 如何实现在线视频播放器并缓存本地 在ExpandableListView中子item中有两个按钮,要如何监听呢? activity 里面的this 怎么理解? cygwin里如何访问window下的JDK呢 Android 设置中的默认屏幕休眠时间 android下的反射问题 Android如何探测USB连接到电脑上? build.gradle 从哪开始执行? 高德地图导航SDK 使用TextureView预览摄像头画面,画面滚动的问题 QTreeView里QFileSystemModel,如何设置让*.exe排在前面显示出来 安卓虚拟机能直接跑java程序吗
实在想做可以换成fragment试试
或者重写dispatchTouchEvent事件将事件用eventbus全部发送给a界面并删掉super,然后a界面调用dispatchTouchEvent
这个方式在前面已经试过不起作用,a页面没有任何事件
EventBus.getDefault().register(this);
} protected void onDestroy() {
EventBus.getDefault().unregister(this);
super.onDestroy();
} @Subscribe
public void onTe(MotionEvent ev) {
dispatchTouchEvent(ev);
Utils.toastInstance("ev分发");
}
他上面的Activity
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
EventBus.getDefault().post(ev);
return true;
}
没有任何问题,所有事件全部传到mainActivity了