簡體   English   中英

Android隱藏焦點時隱藏鍵盤,但未選擇密碼字段時隱藏

[英]Android hide keyboard on off focus but not when password field selected

當我將焦點移到另一個textField時,下面的代碼起作用,但是當我只點擊屏幕上的任意位置(我想觸發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;
    }

希望這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM