Qua*_*Dot 12 android android-fragments android-support-library
根据支持库更改日志和Fragment类文档(https://developer.android.com/reference/android/support/v4/app/Fragment.html),现在有新的方法,如requreActivity()和requireContext() .
与getActivity()和getContext()相比,这些方法的目的是什么,因为它们仍然可以抛出IllegalStateExceptions?当找不到活动或上下文时,这是否优选返回null?我应该简单地用requireActivity()替换每个getActivity()吗?
daz*_*000 26
它基本上是一个总是返回非null对象或抛出异常的方法.就这些.
来自文档:
片段现在有requireContext(),requireActivity(),requireHost()和requireFragmentManager()方法,它们返回等效get方法的NonNull对象或抛出IllegalStateException.
https://developer.android.com/topic/libraries/support-library/revisions.html#27-1-0
这个问题也提到了背后的原因:
"getActivity和getContext方法返回可空类型,因为当Fragment未附加到Activity时,这些方法已经返回null.行为没有变化,现在只是显式标记,所以你可以安全地处理它."
来自reddit:
"我从支持v26更新到支持v27,并且必须在Fragments中为活动/上下文方法添加一堆!!我显然不希望它为null.很高兴有需要*方法为我这样做没有丑陋的!!"
https://www.reddit.com/r/androiddev/comments/80ork8/support_library_2710_has_been_released/duxp75h/
| 归档时间: |
|
| 查看次数: |
6042 次 |
| 最近记录: |