Android按钮单击两次以接收单击事件

时间:2013-12-06 07:43:49

标签: android button focus

我设置了一个按钮focusablefocusableInTouchMode为true(我需要它可以聚焦)。现在,当我单击按钮时,无法触发onCilck事件(它正在获得焦点并忽略onClick事件),只有当我再次cilck时才会触发onClick事件。

我找到了这样的解决方案:

input.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            public void onFocusChange(View v, boolean hasFocus) {
                if (hasFocus) {
                    v.performClick();
                }
            }
        });

但是这个解决方案也会产生一些副作用,例如,如果我们点击键盘上的“next”并将焦点跳到按钮上,onClick就会触发。这不是我想要的。

这个问题真的很烦人,这是一个错误吗?还是故意的行为?无论如何要解决这个问题?

1 个答案:

答案 0 :(得分:2)

设置 focusableInTouchMode false。或者根本不包括该标签。让它采用它的默认值,无论它应该是什么。