Jetpack --(五)DataBinding
Jetpack –(四)DataBindingDataBinding的意义让布局文件承担了部分原本属于页面的工作,使页面布局耦合度进一步降低
[BaseQuickAdapter]getBindingAdapterPosition异常
最近在使用BaseRecyclerViewAdapterHelper的时候,在设置adapter的setOnItemClickListener方法时,点击item报错 java.lang.NoSuchMethodError: No virtual method getBindingAdapterPosition()I in class Lcom/chad/library/adapter/base/viewholder/BaseViewHolder; or its super classes (declaration of 'com.chad.library.adapter.base.viewholder.BaseViewHolder' appears in...
鸿蒙 Mate30安装Google服务
视频网址: https://www.youtube.com/watch?v=qBDbKLnRzu0 应用下载地址: https://ytf.lanzoui.com/ggkk https://ytf.lanzoui.com/adb 安装APK同时已上传百度网盘
Kotlin基础-继承与重载
继承与重载继承类默认都是封闭的,要让某个类开放继承,必须使用open关键字修饰它
kotlin-定义类与field关键字
定义类与field关键字 针对你定义的每一个属性,Kotlin都会产生一个field、一个getter、以及一个setter,field用来存储属性数据,你不能直接定义field,Kotlin会封装field,保护它里面的数据,只暴露给getter和setter使用。属性的getter方法决定你如何读取属性值,每个属性都有getter方法,setter方法决定你如何属性赋值,所以只有可变属性才会有setter方法,尽管Kotlin会自动提供默认的getter和setter方法,但需要控制如何读取属性时,你可以自定义它们 import java.util.Localeclass Player { var name: String = "Jack" get() = field.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() } set(value)...
Kotlin-集合
集合可以方便你处理一组数据,也可以作为值参传给函数,和我们学过的其他变量类型一样,List、Set和Map类型的变量,也分为两种,只读和可变。 List创建与元素获取 getOrElse是一个安全索引取值函数,它需要两个参数,第一个是索引值,,第二个是能提供默认值的lambda表达式,如果索引值不存在的话,可用来代替异常。 getOrNull是Kotlin提供的另一个安全索引取值函数,它返回null结果,而不是抛出异常 val list = listOf("Jack","Rose","Lee") println(list.getOrElse(3) { "Unknown" }) // Unknown println(list.getOrNull(3) ) // null println(list.getOrNull(3) ?: "Unknown1")...
2022-09-08-string模板
string模板 模板支持在字符串的引号内放入变量值 还支持字符串里计算表达式的值并插入结果,添加在${}中的任表达式,都会作为字符串的一部分求值.
Kotlin-表达式
Kotlin表达式 if/else if 表达式 range表达式 in A .. B,in关键字用来检查某个值是否在指定范围内 当然,也可以用 !in A .. B 来反向判断 when表达式 允许编写条件式,在某个条件满足时,对应执行的代码 只要代码包含 else if 分支,都建议改用when 表达式 val school = "小学1" val level = when (school) { "学前班" -> "幼儿" "小学" -> "少儿" else -> println("未知") }
Kotlin嵌套类
嵌套类如果一个类只对另一个类有用,那么将其嵌入到该类并使这两个类保持在一起是合乎逻辑的,可以使用前套类 class Player2 { class Equipment(var name: String) { fun show() = println("equipment: $name") } fun battle() { }}fun main() { Player2.Equipment("knife").show()} 数据类 数据类,是专门用来存储数据的类 数据类提供了toString的个性化实现 ==符号默认情况下,比较对象就是比较它们的引用值,数据类提供了equals和hashCode的个性化实现 data class Coordinate(var x: Float, var y: Float) { var isInBounds = x > 0 &&...
Kotlin--扩展
Kotlin 的扩展(Extension),主要分为两种语法:第一个是扩展函数,第二个是扩展属性。从语法上看,扩展看起来就像是我们从类的外部为它扩展了新的成员。 这在实际编程当中是非常有用的功能。我们可以来想象一个场景:我们想修改 JDK 当中的 String,想在它的基础上增加一个方法“lastElement()”来获取末尾元素,如果使用 Java,我们是无法通过常规手段实现的,因为我们没办法修改 JDK 的源代码。任何第三方提供的 SDK,我们都无权修改。 不过,借助 Kotlin 的扩展函数,我们就完全可以在语义层面,来为第三方 SDK 的类扩展新的成员方法和成员属性。不管是为 JDK 的 String 增加新的成员方法,还是为 Android SDK 的 View 增加新成员属性,我们都可以实现。 什么是扩展函数和扩展属性? 扩展函数,就是从类的外部扩展出来的一个函数,这个函数看起来就像是类的成员函数一样。这里,我们就以 JDK 当中的 String 为例,来看看如何通过 Kotlin 的扩展特性,为它新增一个 lastElement() 方法。 /* ①...