我有下面的代码片段,但它显示警告方法调用“ 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 Nullbale和NonNull:方法调用“getSearchableInfo”可能会产生“NullPointerException”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57242747/

10-09 12:56