1. 程式人生 > >【問題】Android軟鍵盤在介面退出後不自動收回

【問題】Android軟鍵盤在介面退出後不自動收回

問題:在介面中有一個EditText,當獲取輸入焦點後會彈出軟鍵盤,但是這時候你退出介面,軟鍵盤並不會收回去。

環境:Fragment,Activity的windowSoftInputMode="adjustPan"

解決:此處不考慮對Activity的windowSoftInputMode進行修改,防止影響其他介面的正常使用。最後通過在Fragment的結束後調裡面進行監聽。

    @Override
    public void onDestroyView() {
        InputMethodManager imm = (InputMethodManager)             
        App.getInstance().getSystemService(Context.INPUT_METHOD_SERVICE);
        if(et!=null) {
            imm.hideSoftInputFromWindow(et.getWindowToken(), 0);
        }
        super.onDestroyView();
    }

選擇放在onDestroyView的原因是因為我在BaseFragment裡面的這個方法中解除了ButterKnife的繫結。放在其他回撥方法中應該也可以生效。