【问题】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的绑定。放在其他回调方法中应该也可以生效。

你可能感兴趣的:(一步一个问题)