-
Notifications
You must be signed in to change notification settings - Fork 0
ExtFunc
storytellerF edited this page Mar 2, 2024
·
3 revisions
如果我们定义了一个Context 的扩展函数,希望在Fragment 中使用
requireContext().xxx();有点繁琐,如果能够这样
xxx();就好了。为此,我们需要定义
fun Fragment.xxx() = requireContext().xxx();我们的项目肯定会定义大量的扩展函数,而且能够获得Context 的不止Fragment,还有View,这种重复性的劳动应该避免
Don't repeat yourself.
可以使用的类型
enum class ExtFuncFlatType {
V2,//fragment view
V3,//fragment view view_binding
V4,//int to float
V5,//axx pxx
V6,//combineDao
V7,//Dao
}其中,
- V2 扩充针对Fragment,与View 的扩展函数。
- V3 与V2 相比,多一个ViewBinding。
- V4 对Int 的扩展函数扩充出Float 的扩展函数。
- V5 用于ViewModel 的lazy definition。
- V6 特殊类型,用于生成将多个liveData 的改动汇成一个MediatorLiveData。其中Dao 是一种tuple。
- V7 特殊类型,用于生成Dao 这种特殊的Tuple。