Kotlin项目练习记录 续
来源:互联网 发布:on淘宝旗舰店 编辑:程序博客网 时间:2024/06/07 17:06
Kotlin项目练习记录 续
lateinit字面意思,延迟初始化
对于非空类型的属性是必须初始化的,该字段就是延迟初始化用的。
lateinit var data :String //使用时候注意需要是var类型的
var和val的区别
//val为常量,类似于java中的finalval regEx = "[^0-9]"//一般的变量,默认为nullvar test:String?=null//默认是falsevar mIsRefresh: Boolean = false
adapter的使用遇到的问题
//你会发现无法导入Bean,这是因为没有init方法class RankAdapter(context:Context,list: ArrayList<Bean>):BaseAdapter(){ //添加这个方法后就可以导入了 init{ }}
字符串的拼接方式 ($符号)
holder?.tv_time?.text = "$category / $realMinute'$realSecond''"
三元运算符
list?.size?:0 //size 等于0 或者 返回size
更方便的使用xml中的id
//可以直接使用但是要注意导包的问题refreshLayout.setOnRefreshListener(this)
for循环的简单使用
//拿到列表去bean?.itemList?.forEach { it.data?.let { it1 -> mList.add(it1) } }
匿名函数的写法
//view的点击事件view.setOnClickListener(object:OnClickListener{ override fun onClick(v:View){ //do something toast("click") }})//也可如下定义,接受一个view 返回Unit(没有东西)fun setOnClickListener(listener:(View->Unit))//所以点击事件也可以简化写view.setOnClickListener({view->toast("click")})//甚至可以更简化view.setOnClickListener({toast("click")})//如果函数最后一个参数是一个函数view.setOnClickListener(){toast("click")}//如果这个函数只有一个参数view.setOnClickListener{toast("click")}
操作符简单使用
举例说明:
bean.issueList!! .flatMap { it.itemList!! }//遍历,为每个元素创建一个结合,最后把所有集合合并到一个集合 .filter { it.type.equals("video") }//过滤所有符合条件的元素 .forEach { mList.add(it) }//遍历所有元素执行制定操作(mList.add(it)这个操作)
let的简单介绍
调用某对象的let函数,则该对象为函数的参数。在函数块内可以通过 it 指代该对象。返回值为函数块的最后一行或指定return表达式。
举个例子:
//输出结果为hello world"hello world".let{print(it)}//稍微复杂了一点的,it1==it.data,连续的也是不错的^_^bean.itemList?.forEach { it.data?.let { it1 -> mList.add(it1) }
阅读全文
0 0
- Kotlin项目练习记录 续
- Kotlin项目练习记录
- 知乎Python小项目练习记录
- Kotlin练习-快速排序
- Kotlin练习-二分查找
- Kotlin练习-堆排序
- Kotlin 学习记录
- Kotlin的使用记录
- 初学kotlin记录
- kotlin学习记录
- Kotlin的简单使用练习
- 简单的kotlin练习(ing)
- 练习记录
- AndroidStudio Kotlin项目搭建
- Kotlin 引入Android项目
- Android Kotlin开源小项目
- 创建一个kotlin项目
- kotlin项目开发总结
- 类加载器
- Android 验证码倒计时两种方案
- 基于hive0.13中的spark1.6.0 insert overwrite 不可用临时解决办法
- python logging模块
- 遍历多个List时,如何一层一层的遍历,然后一层一层的输出!
- Kotlin项目练习记录 续
- 「前端 · 面试」记录一些有意思的题目(一)
- c++经验总结(3):link错误,无法打开XXX.lib或者xxx.obj
- Python(元组)
- Redhat6.6安装Ambari2.0.1
- loj #100. 矩阵乘法
- PAT_1079. Total Sales of Supply Chain
- unity如何获取安卓手机的时间电量网络信息
- 浅析c与c++中struct的区别