当按钮聚焦时,为什么关键事件没有执行?

时间:2017-12-12 14:18:59

标签: android key-events

我在视图中有一个按钮。我还有一个重写的方法onKeyDown()。

现在,当通过远程单击按钮时,会调用onClickListener但是为什么不调用onKeyDown()。

1 个答案:

答案 0 :(得分:0)

onKeyDown()和onKeyUp()这两个事件更专门用于硬件按钮。虽然这些事件也可以通过软按钮进行编辑。这两个事件都不支持焦点变化。

要获得焦点更改事件,您可以使用OnFocusChangeListener(),这将是最佳做法。

button.setOnFocusChangeListener(new OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            // TODO Auto-generated method stub
            if (hasFocus) {
                //Toast line...
            }
        }

    });