ActivityGroup返回键获取焦点处理
16lz
2021-01-24
ActivityGroup的子Activity获取焦点处理可以把ActivityGroup的bodyView(放置子Activity的布局)设置为可聚焦:
android:focusable="true"
android:focusableInTouchMode="true"
然后再在OnCreate方法中
bodyView.requestFocus();
这就会进入这个ActivityGroup的每个子Activity时能够响应自己的OnKeyDown方法。
我们可以禁用子Activity的OnKeyDown方法即返回false
public boolean onKeyDown(int keyCode, KeyEvent event) { // 按下键盘上返回按钮 if (keyCode == KeyEvent.KEYCODE_BACK) { Log.i("test", "购买界面的返回键"); return false; } else { Log.i("test", "购买界面的返回键false"); return super.onKeyDown(keyCode, event); } }
我们只需在ActivityGroup中继承OnKeyDown方法,根据子Activity的id处理每个子Activity的返回事件。
因为ActivityGroup和他的子activity对返回方法的优先级是一样的,而且该方法只有当前聚焦的View才能响应,所以我们可以禁用子Activity的OnKeyDown并且让他获得焦点将时间传递给ActivityGroup处理。
更多相关文章
- Android(安卓)SlidingMenu实现沉浸式状态栏
- Android(安卓)ARouter路由中传对象遇到的坑
- 初识Android上层应用5大基本组件
- android Activity 清空焦点
- android中常用的方法备忘
- Android(安卓)AsyncTask 完美解析 看不懂源码你就输了
- android退出登陆后,清空之前所有的activity,进入登陆主界面
- Android(安卓)textview获取选中的内容
- android webview快速获取页面上的图片