android - 当我调用 OnFocusChangeListener.onFocusChange() 函数时我应该返回什么

标签 android return

myEdit1.setOnKeyListener(new OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                myEdit2.setText("");
                return false;
            }
        });

返回false,一切顺利。但是如果我改成return true,那就有点不和谐了。我不能删除字符,也不能使用退格键。我想知道,在什么情况下我应该return truereturn false? 任何帮助表示赞赏。一些例子更好:)

最佳答案

返回 true 以防止此事件进一步传播,或返回 false 以指示您尚未处理此事件并且它应该继续传播。

  • 返回真值:如果您处理了事件,则始终返回真值。并且不希望操作系统做一些额外的事情。
  • 返回 false:如果您没有处理该事件并希望 OS 处理它,则返回 false。

在您的情况下,当您返回 true 时,不会执行事件的默认行为,因为事件不会进一步传播。它认为您已经处理了该事件。当您返回 false 时,事件会进一步传播并执行默认行为。因为false表示你没有处理事件

关于android - 当我调用 OnFocusChangeListener.onFocusChange() 函数时我应该返回什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9147704/

相关文章:

java - 该方法必须返回int类型的结果

php - 如何使用 php 预选一个 html 下拉列表?

android - "You need to use a Theme.AppCompat theme (or descendant) with the design library"错误

android - Android 的复制保护如何检查设备是否已 Root ?

javascript - 将javascript注入(inject)android WebView

sql - 在SQL中不更新行

PHP:从类构造函数返回一个数组

java - 返回接口(interface)对象的列表

Android:将多个 .XML 和对象膨胀到一个 .XML

java - 选项卡布局不会显示选项卡图标