Android:如何防止在按导航键时更改焦点?

| 出于某些特殊原因,我必须独自处理所有焦点。 在仿真器中,分配了“ 0”和“ 1”来移动焦点。为了正确起见,我的原型如下
public class Button extends android.widget.Button {

public Button(Context context) {
    super(context);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (isPreventSystemBehavior(keyCode)) {

        return true;
    }

    return super.onKeyDown(keyCode, event);
}

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    if (isPreventSystemBehavior(keyCode)) {
        return true;
    }

    return super.onKeyUp(keyCode, event);
}

private boolean isPreventSystemBehavior(int keyCode) {
    switch (keyCode) {
    case KeyEvent.KEYCODE_DPAD_DOWN:
    case KeyEvent.KEYCODE_DPAD_UP:
    case KeyEvent.KEYCODE_DPAD_LEFT:
    case KeyEvent.KEYCODE_DPAD_RIGHT:
        return true;
    }

    return false;
}
}
有效。但是对于
EditText
情况,,4ѭ不应停止。然后,我必须让每个视图/小部件实现自己的onKeyDown / Up,这很繁琐。 有没有更简单的方法可以做到这一点? 谢谢。     
已邀请:
签出源代码之后,最终我得到了以下解决方案,非常简单,
@Override
public boolean executeKeyEvent(KeyEvent event) {
    return true;
}
只需覆盖ScrollView :: executeKeyEvent并返回true     

要回复问题请先登录注册