что я должен вернуть при вызове функции OnFocusChangeListener.onFocusChange () - PullRequest
1 голос
/ 05 февраля 2012
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?Любая помощь приветствуется.некоторые примеры лучше :)

1 Ответ

1 голос
/ 05 февраля 2012

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

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

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

...