美文网首页
Kotlin系列——findViewById

Kotlin系列——findViewById

作者: 李晓通 | 来源:发表于2017-11-28 11:33 被阅读120次

    前言

    Kotlin出来也有一段时间了,自己也研究过一段时间,感觉相对于java来说,最大的优势就是代码简介了不少,最近也开始着手尝试kotlin写项目,踩过几个坑,这里记录一下。

    findViewById

    在Android开发这个领域,findViewById可以说是安卓开发的代名词了,但是在Kotlin中,findViewById会有点小小的变化,下面给大家看一下区别。

    java中
    TextView tv = (TextView) findViewById(R.id.tv);
    
    Kotlin中
    在kotlin中,写findViewById的时候,后面会默认出现一个泛型,可能很多刚接触kotlin的朋友会懵,就像这样

    那么在Kotlin中,findViewById应该怎么写呢?这里给大家科普一下。

    第一种写法,去掉泛型,在前面声明该控件的类型
    var tv : TextView = findViewById(R.id.tv) 
    
    第二种写法,在泛型中指定该控件类型
    var tv = findViewById<TextView>(R.id.tv)
    

    不需要findViewById

    重点来了,在Koltin中,其实我们可以不需要findViewById来找控件,可以直接拿控件在布局中的id直接使用。
    第一步,在module下的gradle文件中,加入

    apply plugin: 'kotlin-android-extensions'
    

    第二步,在布局对应的Activity或者fragment中加入

    import kotlinx.android.synthetic.main.activity_main.*
    
    这里的activity_main为你自己布局名
    

    接下来就是见证奇迹的时刻
    你可以直接在代码中使用该控件,比如给这个TextView赋值或者设置点击事件

    tv.text = "LXT的Koltin小Demo"
    
    //这里的toast用到了kotlin的扩展函数,以后再说
    tv.setOnClickListener{toast("点击事件")}
    

    总结

    这虽然是个小问题,但是也算是打开了kotlin的大门,欢迎小伙伴们一起学习和讨论Koltin。这篇文章也算是自己Kotlin系列的一个开始,以后也会不定期更新,喜欢的小伙伴们欢迎动动你的小手点个赞。

    以上纯属于个人平时工作和学习的一些总结分享,如果有什么错误欢迎随时指出,大家可以讨论一起进步。

    相关文章

      网友评论

          本文标题:Kotlin系列——findViewById

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