Kotlin 之 匿名接口 回调

简介: Kotlin 之 匿名接口 回调

Kotlin 之 匿名接口 回调

Kt写法缩略版

函数思维模式

//使用在RV的adapter中的回调里面
//初始化创建匿名接口  回调
 private var mListener: ((a: Int, b: String) -> Unit)? = null
 //.....
  fun setOnItemClickListener(mListener: (position: Int, item: String) -> Unit) {
    this.mListener = mListener
  }
//调匿名回调接口赋值
mListener?.invoke(data, position.toString())
//用
    mineFragmentRvAdapter?.setOnItemClickListener2 { position, item ->
      showToast("$position ==== $item")
    }
**Unit**:无任何返回的类型  相当于Java的void
**invoke**:mListener?.invoke(data, position.toString()) 相当于mListener.data, position.toString()

     


Java 原始版

//创建用于回调接口
        interface OnItemClickListener {
          fun onItemClick(obj: Any?, position: Int)
        }
    //初始化 
       private var mItemClickListener: OnItemClickListener? = null
//方法调用
    fun setOnItemClickListener(itemClickListener: OnItemClickListener) {
        this.mItemClickListener = itemClickListener
    }
//赋值
mItemClickListener.onItemClick(mData[position], position)
//回调调用
  mineFragmentRvAdapter?.setOnItemClickListener(object : OnItemClickListener {
      override fun onItemClick(obj: Any?, position: Int) {
        showToast("$position ==== $obj")
      }
    });
    **Any**:所有没有显式声明基类的class,它的默认父类就是Any;相当于Java中的Object
    **object **:object的作用是调用内部匿名类
目录
相关文章
|
5天前
|
Kotlin
Kotlin中抽象类与接口
Kotlin中抽象类与接口
5 0
Android-kotlin-接口与多态的表现,面经解析
Android-kotlin-接口与多态的表现,面经解析
|
11月前
|
Kotlin
Kotlin中接口、抽象类、泛型、out(协变)、in(逆变)、reified关键字的详解
Kotlin中接口、抽象类、泛型、out(协变)、in(逆变)、reified关键字的详解
70 0
|
Java 开发工具 Spring
springBoot搭建自己的第一个接口(kotlin+gradle)
springBoot搭建自己的第一个接口(kotlin+gradle)
229 0
springBoot搭建自己的第一个接口(kotlin+gradle)
|
安全 JavaScript 前端开发
Kotlin 之类和接口
Kotlin 之类和接口
Kotlin 之类和接口
|
Java 编译器 Kotlin
Kotlin学历之抽象类与接口
Kotlin学历之抽象类与接口
93 0
Kotlin学历之抽象类与接口
|
设计模式 安全 Java
带你踏入Kotlin大门(六)|基本功_接口和特殊类篇
这篇文章是我们 Kotlin 基础章系列的最后一文了,前面我们利用了5篇文章讲解了 Java 开发者如何学好 Kotlin 的基本用法,每篇文章的篇幅都不长,可以在空余时间快速阅读,笔者希望学习完前五篇,再来学习这最后一篇文章,会更加的容易理解。
|
IDE Java 编译器
Kotlin 1.5 新特性:密封接口比密封类强在哪?
Kotlin 1.5 推出了密封接口(Sealed Interface),这与密封类(Sealed Class)有什么区别呢?
357 0
Kotlin 1.5 新特性:密封接口比密封类强在哪?
|
Java Kotlin
【Kotlin 初学者】抽象类-嵌套类-单例类-接口
目录 一、抽象类 二、嵌套类(内部类) 三、单例类 3.1 object 关键字 3.2 对象声明 3.3 对象表达式 3.4 伴生对象 四、接口 4.1 接口定义 4.2 默认实现 4.3 小结
173 0
【Kotlin 初学者】抽象类-嵌套类-单例类-接口
|
Java Android开发 Kotlin
kotlin学习笔记——类、函数、接口
1、类 类是空的可以省略大括号, 如: class A(name: String) 注意:kotlin与java的一个不同点,代码句结尾不必加“;”号
359 0