一开始的代码是:
private void hideKeyboard()
{
View view = getCurrentFocus();
if (view != null)
{
((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
警告信息是:
方法调用“hideSoftInputFromWindow”可能会产生“java.lang.NullPointerException”
所以我将提示下的代码更改为:
private void hideKeyboard()
{
View view = getCurrentFocus();
if (view != null)
{
((InputMethodManager) Objects.requireNonNull(getSystemService(Context.INPUT_METHOD_SERVICE)))
.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
这次警告信息是:
调用需要 api 级别 19 当前最小值为 16 java.util.objects#requirenonnull
我怎么知道?谢谢你。