- 博客(10)
- 收藏
- 关注
原创 将导航组件添加到项目中
在我们的 lambda 中,使用 view.findNavcontroller 获取导航主机片段的导航控制器。将现有标题片段的类名称更改为 androidx.navigation.fragment.NavHostFragment。在 res 下的新导航目录中选择 navigation.xml 文件,并确保选择了设计选项卡。build.gradle 文件中为您添加了 ext 变量,该文件显示了我们将使用的导航组件的版本。build.gradle 文件中,添加导航片段 ktx 和导航 UI ktx 的依赖项。
2024-05-16 13:51:59 718
原创 实现数据绑定
在本练习中,您将通过使用数据绑定而不是 findViewById 来改进 AboutMe 应用程序,并使用绑定到 name_text 和nickname_text 视图的实际数据来显示信息。您可以在点击处理程序中使用 apply() 使您的代码更加简洁和可读。数据绑定和findViewById。
2024-05-14 16:20:09 387
原创 在 Android 中,invalidateAll()
时,它会导致绑定的布局中的所有绑定属性都被标记为无效,这意味着它们将在下一次布局刷新时重新计算和更新。这对于在数据发生变化时刷新整个布局很有用,特别是当你需要确保所有绑定属性都及时地更新时。是一个用于数据绑定(Data Binding)的函数,通常用于通知绑定的布局(Binding Layout)中的所有绑定属性都需要重新计算和更新。来通知布局进行更新。这样,在下一次布局刷新时,所有的绑定属性都会重新计算,以反映出最新的数据状态。的作用是强制使绑定的布局无效化,从而触发数据绑定机制的重新计算和更新。
2024-05-14 14:16:58 131
原创 在 Kotlin 中,apply()什么意思
函数的作用类似于将对象作为 lambda 表达式的接收者,并在 lambda 表达式中执行一系列操作。函数,你可以在创建对象后立即对其执行一系列操作,而不需要额外的变量来引用该对象。是一个标准库函数,用于在对象上执行一系列操作并返回该对象本身。以下是一个简单示例,展示了如何使用。apply()什么意思。在 Kotlin 中,
2024-05-14 14:13:46 234
原创 Kotlin 循控制
可以对任何提供迭代器(iterator)的对象进行遍历,for 循环仅以唯一一种形式存在, 和 Java的 for-each 循环一致。可以循环遍历任何提供了迭代器的对象。即:有一个成员函数或者扩展函数。循环控制语句也是每门语言不可缺少的一部分,一般就是我们所熟知的。Kotlin 循环其实几乎和 Java中 的一模一样。循环会被编译为并不创建迭代器的基于索引的循环。在循环中 Kotlin 支类似 Java 中。,它的返回类型,有一个成员函数或者扩展函数。,并且有一个成员函数或者扩展函数。
2024-05-10 18:45:00 298
原创 深入理解Kotlin泛型
泛型种类Java 中代码示例Kotlin 中代码示例说明泛型类型泛型类型泛型方法泛型函数有界类型参数泛型类型约束上界通配符泛型上限约束下界通配符泛型下限型约束。
2024-05-10 14:34:38 301 3
原创 kotlin扩展
这种机制称为 扩展函数。在《以架构师角度认识Kotlin》一节我们有提到:在Kotlin中提供了大量的扩展,使得我们的代码更加简洁,开发出来的框架更加易用,那么Kotlin的扩展到底是怎样子的,以及它的实现原理如何呢,那么在这一节将为大家揭晓这些答案。从反编译出的Java源码分析,扩展函数的实现非常简单,它没有修改接受者类型的成员,仅仅是通过静态方法来实现的。另外,需要注意的是我们需要为这个方法传递它被扩展类的对象来作为接受者,为什么要传递接受者对象,这是由扩展的实现原理所决定的,在原理解析部分会讲解。
2024-05-10 14:34:02 1933
原创 kotlin条件控制
通过对比发现,Kotlin 1.3 前后 when 表达式的增强,仅仅是把原来外部那一行代码,缩进到 when 里写,然而两次写法反编译的 Java 代码是一致的。如果它被当做表达式, 符合条件的分支的值就是整个表达式的值,如果当做语句使用, 则忽略个别分支的值。在 Kotlin 中,if 是一个表达式所以它会返回一个值,表达式的值为表达式作用域内最后一行的值。作为表达式而不是语句(例如:返回它的值或者把它赋给变量),该表达式需要有。一样,每一个分支可以是一个代码块,它的值是块中最后的表达式的值。
2024-05-10 14:32:34 1561
原创 Kotlin方法与Lambda表达式
Lambda表达式的本质其实是匿名方法,因为在其底层实现中还是通过匿名方法来实现的。在Java 8的时候开始支持Lambda表达式,目前Lambda语法在Java中已经被广泛的运用,Lambda表达式可以理解为是一种语法糖,值得庆幸的是,Kotlin一经开源成熟就已经支持这种语法。当我们调用 vararg 方法时,我们可以一个接一个地传参,例如 append('h', 'e', 'l', 'l', 'o'),或者,如果我们已经有一个数组并希望将其内容传给该方法,我们使用伸展。
2024-05-10 14:31:25 1836
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人