ActivityGroup返回键获取焦点处理

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

你可能感兴趣的:(ActivityGroup)