lambda 运行的小知识点

languageLv!!.setOnItemClickListener { _, _, i, _ ->    this.position = i    adapter.notifyDataSetChanged()}

 

lambda 我经常在用,也用得很顺手,只不过都是用as提示写出来的

但是我今天第一次见到还可以这样用的

 

原型是这样子的

languageLv!!.setOnItemClickListener { parent, view, position, id ->    this.position = position    adapter.notifyDataSetChanged()}

差别就在里面的参数,

上面不需要的参数都是 下划线( _ )

下面的都是默认参数

当时是在使用的时候成员变量名一样,为了避免冲突,然后改成i,同事看到,直接让我把其他变量改成下划线 (_ ),突然觉得好神器

 

看了一下解释:

因为解构声明语法为lambda表达式传递参数

如果不想声明其他变量,就可以用下划线( _ )替代变量

 

更多相关文章

  1. Android(安卓)Activity界面切换添加动画特效 (修改)
  2. VLC for android on unbutu 14.04 编译的几个问题总结
  3. 编译android vlc
  4. 视频播放器
  5. Linux 内核启动挂载android根文件系统过程分析
  6. 【Android习惯】文件、方法、变量命名规范参考(编辑中)
  7. gradle使用技巧之全局变量
  8. Android(安卓)实现中文按拼音排序方法
  9. android 实现在titlebar上显示进度条

随机推荐

  1. Android中界面实现全屏显示的两种方式
  2. android驱动学习---led实验
  3. 史上最详细的Android(安卓)Studio系列教
  4. Android中的UI更新
  5. Android(安卓)迁移到 Androidx
  6. EditText属性
  7. Android(安卓)Binder驱动源码下载地址
  8. 基于Platinum库的DLNA开发
  9. 【Android(安卓)界面效果6】Android(安卓
  10. Android(安卓)中文 API (101) —— Async