EditText仅在我离开屏幕时失去焦点

时间:2014-05-30 20:40:33

标签: android android-edittext focus

EditText的焦点丢失时,我试图关闭键盘。我将此代码用于

edt.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        public void onFocusChange(View v, boolean hasFocus) {

            if (!hasFocus) {
                InputMethodManager imm = (InputMethodManager) getBaseContext().getSystemService(INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
                Log.d(TAG, "edt focus lost");
            }

            if (hasFocus)
                Log.d(TAG, "edt has focus");
        }
    });

当我触摸它时,我立即获得焦点。但是在离开屏幕之前我不会失去焦点。

我尝试在页面上打开其他Dialogs,用他们自己的听众触摸其他Views,但在离开屏幕之前不会触发“焦点丢失”消息。

为什么会这样?

1 个答案:

答案 0 :(得分:2)

可聚焦视图(例如此EditText)仅在另一个可聚焦视图获得焦点时失去焦点。大多数视图默认不可聚焦。