当EditText
的焦点丢失时,我试图关闭键盘。我将此代码用于 p>
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
,但在离开屏幕之前不会触发“焦点丢失”消息。
为什么会这样?
答案 0 :(得分:2)
可聚焦视图(例如此EditText
)仅在另一个可聚焦视图获得焦点时失去焦点。大多数视图默认不可聚焦。