android - kotlin 中的 requireActivity() 和 requireContext()

标签 android kotlin android-fragments

requireActivity() 的目的是什么和 requireContext() Fragment ?

最佳答案

因为它们可能为空。在java中,你可以调用它们。但在 Kotlin 中,它们被声明为可为空的返回类型。所以你有3个选择:

  • 您不确定它是否为空:
    activity?.let {//做你需要做的。}
  • 您确定它不会为空,因此您可以调用 activity!!.doSomething 但它很难看。
  • 这是您确定它不会为空的最干净的选项,但如果以某种方式存在,则会为此准备一个特定的异常(IllegalStateException),它将被抛出而不是通用的 NullPointerException。
  • 关于android - kotlin 中的 requireActivity() 和 requireContext(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58693280/

    相关文章:

    android - 如何从 Google Play 商店中删除已发布的应用程序?

    android - 使用协程对任务进行排队

    android - 如何在 fragment 中访问 getSupportFragmentManager()?

    Android FrameLayouts 并排与独立的内部滚动

    java - 根据 Activity 及其实例,AndroidManifest.xml 的真正目的是什么?

    java - Android Studio 错误 : Plugin with id 'com.google.gms.google-services' not found

    android - Swift 中 CC_SHA256 的 Kotlin 等效项是什么?

    android - 转到另一个 fragment 时, float 操作按钮不会消失

    Android:无法在广播接收器中与 MainActivity 通信

    kotlin - 为什么我不能说:val list = properties.map((key,value)-> “$key = $value”)