【问题标题】:Android Nullbale and NonNull: Method invocation 'getSearchableInfo' may produce 'NullPointerException'Android Nullbale 和 NonNull:方法调用“getSearchableInfo”可能会产生“NullPointerException”
【发布时间】:2019-12-06 03:20:18
【问题描述】:

我有以下代码 sn-p 但它显示警告 方法调用 'getSearchableInfo' 可能会产生 'NullPointerException'

ComponentName s = getComponentName();
if (s ==null)
    return;
@NonNull ComponentName componentName = getComponentName();
SearchableInfo searchableInfo = searchManager
   .getSearchableInfo(componentName); //<--  Warning Line

我可以找到 Kotlin 的示例,但我不知道如何在 Java 中消除此警告?

【问题讨论】:

  • 也许searchManager 可能是null
  • @Seelenvirtuose 哦哦!我这样的错误! :D 是的。你是对的
  • 几乎回答了:D

标签: java android warnings nullable non-nullable


【解决方案1】:

当您有 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());

【讨论】:

    猜你喜欢
    • 2020-11-05
    • 2015-02-22
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多