今天在一个Activity隐藏软键盘时报Null,错误提示:
java.lang.NullPointerException: Attempt to invoke virtual
method 'android.os.IBinder android.view.View.getWindowToken()'
on a null object reference
代码如下:
private void hideEditText() {
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow( MyActivity.this.getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);}
修改后正确的代码:
private void hideEditText() {
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(mEditText.getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);}
原因:
还不知道,现在猜测是getWindowToken()的问题。
网友评论