当我调用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表示您尚未处理事件