2012-02-05 4 views
1
myEdit1.setOnKeyListener(new OnKeyListener() { 
      public boolean onKey(View v, int keyCode, KeyEvent event) { 
       myEdit2.setText(""); 
       return false; 
      } 
     }); 

return false OnFocusChangeListener.onFocusChange(), все идет хорошо. но если я перехожу на return true, то есть что-то не в гармонии. Я не могу удалить символы и не использовать backspace key.i хочу знать, что, в какой ситуации должно быть return true или return false? Любая помощь приветствуется. некоторые примеры лучше :)что же я должен вернуться, когда я вызвать функцию

ответ

1

Return true, чтобы предотвратить распространение этого события далее, или false, чтобы указать, что вы не обработали это событие и его следует продолжать распространять.

  • Return True: Всегда возвращает истину, если вы обработали событие. И не хочу, чтобы эта ОС делала что-то дополнительное.
  • Возврат false: Возвратите false, если вы не обработали событие и хотите, чтобы ОС обрабатывала его.

В вашем случае, когда вы return true, поведение по умолчанию по умолчанию не выполняется, поскольку событие не распространяется дальше. Он считает, что вы обработали событие. Когда вы return false, событие распространяется дальше и выполняет поведение по умолчанию. Поскольку false указывает, что вы не обработали событие

Смежные вопросы