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) } 
原创粉丝点击