kotlin中匿名内部类的写法

Posted zhangjin1120

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin中匿名内部类的写法相关的知识,希望对你有一定的参考价值。

原本java开发安卓常用的setOnClickListener,用kotlin写,也变得五花八门了。

        var view: View = findViewById(R.id.tv)
        //最接近原先java的写法
        view.setOnClickListener(object : View.OnClickListener 
            override fun onClick(v: View?) 
                Toast.makeText(this@MainActivity, "ff3", Toast.LENGTH_SHORT).show()
            
        )

        //带括号 it
        view.setOnClickListener(View.OnClickListener() 
            Toast.makeText(this, "ff1", Toast.LENGTH_SHORT).show()
        )

        //不带括号 it
        view.setOnClickListener(View.OnClickListener 
            Toast.makeText(this, "ff2", Toast.LENGTH_SHORT).show()
        )
        
        //kotlin的lambda表达式
        view.setOnClickListener  v ->
            Toast.makeText(v.context, "ff4", Toast.LENGTH_SHORT).show()
        

以上是关于kotlin中匿名内部类的写法的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin基础(十三) 嵌套类内部类和匿名内部类

Kotlin基础(十三) 嵌套类内部类和匿名内部类

[Kotlin] 内部类

匿名内部类的线程写法

kotlin学习之类的修饰符与抽象类,嵌套类,内部类,匿名内部类

Lambda 表达式