Android(安卓)关于lambda 的下划线
16lz
2021-01-25
lambda 运行的小知识点
languageLv!!.setOnItemClickListener { _, _, i, _ -> this.position = i adapter.notifyDataSetChanged()}
lambda 我经常在用,也用得很顺手,只不过都是用as提示写出来的
但是我今天第一次见到还可以这样用的
原型是这样子的
languageLv!!.setOnItemClickListener { parent, view, position, id -> this.position = position adapter.notifyDataSetChanged()}
差别就在里面的参数,
上面不需要的参数都是 下划线( _ )
下面的都是默认参数
当时是在使用的时候成员变量名一样,为了避免冲突,然后改成i,同事看到,直接让我把其他变量改成下划线 (_ ),突然觉得好神器
看了一下解释:
因为解构声明语法为lambda表达式传递参数
如果不想声明其他变量,就可以用下划线( _ )替代变量
更多相关文章
- Android(安卓)Activity界面切换添加动画特效 (修改)
- VLC for android on unbutu 14.04 编译的几个问题总结
- 编译android vlc
- 视频播放器
- Linux 内核启动挂载android根文件系统过程分析
- 【Android习惯】文件、方法、变量命名规范参考(编辑中)
- gradle使用技巧之全局变量
- Android(安卓)实现中文按拼音排序方法
- android 实现在titlebar上显示进度条