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处理。

更多相关文章

  1. Android(安卓)SlidingMenu实现沉浸式状态栏
  2. Android(安卓)ARouter路由中传对象遇到的坑
  3. 初识Android上层应用5大基本组件
  4. android Activity 清空焦点
  5. android中常用的方法备忘
  6. Android(安卓)AsyncTask 完美解析 看不懂源码你就输了
  7. android退出登陆后,清空之前所有的activity,进入登陆主界面
  8. Android(安卓)textview获取选中的内容
  9. android webview快速获取页面上的图片

随机推荐

  1. android graphview使用
  2. [Android] Debug Bridge(ADB) 技术实现(译
  3. [置顶] Android应用程序的debug属性
  4. Android中Activity之间的通信和传值
  5. Android(安卓)SESSION的知识
  6. 《Android(安卓)4游戏高级编程(第2版)》书
  7. Windows下安装android设备驱动
  8. 【Android(安卓)动画】帧动画、补间动画
  9. Android程序员
  10. 004. Android界面刷新没有调用OnMeasure