美文网首页
Kotlin多参数回调

Kotlin多参数回调

作者: 因为我的心 | 来源:发表于2022-12-05 14:03 被阅读0次

1、单个参数回调:

        /**
         * 单个返回值调用
         */
        checkUserStatus("小明"){
            Log.d("LUO","---:$it")
        }
   //被调用的方法
   fun checkUserStatus(name:String?=null,result:((str:String)->Unit)){
        result.invoke("你好啊")
    }

2、多个参数回调:

  /**
         * 中间多个返回值调用
         */
        checkUserData("123", finishBlock = {
           Log.d("LUO","--finishBlock--")
        }, closedBlock = {
           Log.d("LUO","--closedBlock--")
        }, errorBlock = {
            Log.d("LUO","--errorBlock--")
        }, src = R.drawable.ic_launcher_background)
   //被调用的方法
    fun checkUserData(
        id: String?,
        from: String? = null,
        extra: Bundle? = null,
        finishBlock: (() -> Unit)? = null,
        closedBlock: (() -> Unit)? = null,
        errorBlock: ((e: Exception) -> Unit)? = null,
        src: Int
    ) {
        finishBlock?.invoke()
        closedBlock?.invoke()
        errorBlock?.invoke(Exception())
    }

3、java中调用Kotlin的回调

1、java中调用Kotlin回调

public class UserActivity extends AppCompatActivity {
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_user);

        /**
         * java中调用Kotlin回调
         */
        CommonUtils.INSTANCE.clickItime("小刚", new Function1<String, Unit>() {
            @Override
            public Unit invoke(String str) {
                Log.d("LUO","===返回:"+str);//===返回:小刚: 回来了
                return null;
            }
        });
    }
}

2、Kotlin接口回调

object CommonUtils {
    /**
     * Kotlin接口回调
     */
    fun clickItime(name:String?=null,result:((str:String)->Unit)){
        result.invoke("${name}: 回来了")
    }
}

相关文章

  • Kotlin多参数回调

    1、单个参数回调: 2、多个参数回调: 3、java中调用Kotlin的回调 1、java中调用Kotlin回调 ...

  • python 函数回调

    回调函数 def apply_async(func, args, , callback):# Compute th...

  • flutter 函数回调

    习惯使用java的同学一定经常使用java的接口回调,flutter本事不支持内部类,所以无法像java一样实现接...

  • Promise原理解析,使用ES5实现Promise

    Promise js的单线程特性导致大量的异步操作,异步操作我们通常使用函数回调的方式实现。大量的函数回调会产生我...

  • 第十九章 公私有变量及特权方法

    一,函数回调 回调函数 (优化性能 ) callback is function什么时候去使用回调函数呢? DO...

  • kotlin 回调函数、let、also、run 、with、a

    kotlin lambda 简化 ————————kotlin 回调函数、let、also、run 、with、a...

  • c函数回调oc

    1、c语言回调可以用self的静态传入调用方法,也可以用类设置delegate传出来,记得置nil 2、try c...

  • Activity跳转参数回调

    1.A-Activity首先携带数据跳转B-Activity 2.接收A-Activity的数据,把处理完的数据s...

  • React Native 函数回调

    子组件传递事件到父组件 碰到一个需求是:在子组件中点击按钮,需要将点击事件传递到父组件中,这个需求在iOS中可以很...

  • 封装函数回调结果

    场景:通常我们会封装请求函数,传入不同请求字段进行请求,这时候需要在不同业务场所请求返回不同回调结果,进而进行不同...

网友评论

      本文标题:Kotlin多参数回调

      本文链接:https://www.haomeiwen.com/subject/kbqvfdtx.html