gpt4 book ai didi

java - Android 在焦点消失时隐藏键盘,但在选择密码字段时不会隐藏键盘

转载 作者:行者123 更新时间:2023-12-01 14:52:07 24 4
gpt4 key购买 nike

当我将焦点移到另一个文本字段时,下面的代码有效,但当我点击屏幕上的任意位置时(我想触发 onFocusChanged 事件)则无效。我怎样才能实现这个目标?我还需要检查其他文本字段是否没有焦点,因为如果有焦点,则应保留键盘。

usernameET.setOnFocusChangeListener((new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(v == usernameET) {
Log.d(LoginPage.Tag, "keyboardOnTouch");
if (hasFocus)
{
((InputMethodManager) a.getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(usernameET,
InputMethodManager.SHOW_FORCED);
}
else {
((InputMethodManager) a.getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(
usernameET.getWindowToken(), 0);
}
}
}
}));

最佳答案

您可以使用 onTouchEvent() 隐藏软键盘。

@Override
public boolean onTouchEvent(MotionEvent event) {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.
INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
return true;
}

希望这会有所帮助。

关于java - Android 在焦点消失时隐藏键盘,但在选择密码字段时不会隐藏键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14742804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com