问题:在界面中有一个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的绑定。放在其他回调方法中应该也可以生效。