代码之家  ›  专栏  ›  技术社区  ›  Ruwanka De Silva

使Android Lifecycle Observer接收器在Kotlin中不可为空

  •  0
  • Ruwanka De Silva  · 技术社区  · 7 年前

    Result 包装数据的包装器来自后端

    data class Result<T>(val success: Boolean, val result: T?, val message: String?)
    

    success 而不是结果为空或无效,并获取用于UI错误报告的格式化消息。但是当尝试将其用于android生活方式组件时,特别是在 Observer 我必须检查空值。

    enter image description here

    如何避免此空检查?这是因为

    void onChanged(@Nullable T t);
    

    在里面 . 我试图扩展它,但它似乎需要更多的自定义包装器类。我们这里有避免空检查的解决方案吗。

    2 回复  |  直到 7 年前
        1
  •  3
  •   Andrei Vinogradov    7 年前

    参数被注释为@Nullable是一个框架缺陷。在androix.lifecycle 2.0.0-beta01中修复。

        2
  •  2
  •   Jeel Vankhede    7 年前

    @安德烈·维诺格拉多夫的回答

    2.0.0-beta01 让 从Kotlin图书馆:

    it?.let{ result ->
        if(result.success){
        // Rest of your code ..
        }
    }