当我调用OnFocusChangeListener.onFocusChange()函数时,应该返回什么?
问题描述:
myEdit1.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
myEdit2.setText("");
return false;
}
});
return false
,一切都很顺利。但是如果我更改为return true
,那么这里有一些不协调的东西。我不能删除字符,也不能使用退格键。我想知道,在哪种情况下,我应该使用return true
还是return false
? 任何帮助表示赞赏。一些例子更好:)当我调用OnFocusChangeListener.onFocusChange()函数时,应该返回什么?
答
Return true
以防止此事件进一步传播,或false
表示您尚未处理此事件,它应继续传播。
- 返回True:如果您处理了该事件,则始终返回true。并且不希望该操作系统做额外的事情。
- 返回false:如果您未处理该事件并希望OS处理它,则返回false。
在你的情况,当你return true
,事件的默认行为没有执行,因为事件没有进一步传播。它认为你已经处理了这个事件。当您return false
时,事件会进一步传播并执行默认行为。因为false
表示您尚未处理事件