我设置了一个按钮focusable
和focusableInTouchMode
为true(我需要它可以聚焦)。现在,当我单击按钮时,无法触发onCilck事件(它正在获得焦点并忽略onClick事件),只有当我再次cilck时才会触发onClick事件。
我找到了这样的解决方案:
input.setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
v.performClick();
}
}
});
但是这个解决方案也会产生一些副作用,例如,如果我们点击键盘上的“next”并将焦点跳到按钮上,onClick就会触发。这不是我想要的。
这个问题真的很烦人,这是一个错误吗?还是故意的行为?无论如何要解决这个问题?
答案 0 :(得分:2)
设置 focusableInTouchMode false。或者根本不包括该标签。让它采用它的默认值,无论它应该是什么。