我有以下代码 fragment ,但它显示警告方法调用“getSearchableInfo”可能会产生“NullPointerException”
ComponentName s = getComponentName();
if (s ==null)
return;
@NonNull ComponentName componentName = getComponentName();
SearchableInfo searchableInfo = searchManager
.getSearchableInfo(componentName); //<-- Warning Line
我可以找到 Kotlin 的示例,但我不知道如何在 Java 中消除此警告?
最佳答案
当您遇到 NullPointerException
调用带有以下消息的方法时:
java.lang.NullPointerException: Attempt to invoke virtual method getSearchableInfo
通常,当调用该方法 (.getSearchableInfo()
) 的类未正确初始化时,您会遇到此错误。
请务必初始化SearchManager
:
//Initialize SearchManager
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
...
...
SearchableInfo searchableInfo = searchManager.getSearchableInfo(getComponentName());
关于java - Android 可空和非空 : Method invocation 'getSearchableInfo' may produce 'NullPointerException' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57242747/