Kotlin使用总结

  1. Kotlin优化了复杂界面大段大段的findViewById代码,取而代之的是导包形式:
    import kotlinx.android.synthetic.main.布局文件.*
    之后直接根据控件的ID获取控件对象,如:
<Button
        android:id="@+id/QRCode"
        android:text="QRCode"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

直接调用,不需要额外的代码

QRCode.setOnClickListener(this)

大概是在Kotlin1.3.2版本以前,当一个xml文件中include其他xml文件时,通过将子xml文件import进去,也可以直接根据id获得控件对象。当我更新到1.3.2版本后,根据id得到的控件并不是界面显示的那个对象,使用时就会报KotlinNullPointException。
通过给include的xml添加id

<include
                    android:id="@+id/mLayout_home_to_audit_info"
                    layout="@layout/item_home_today_info" />

在父view中findViewById获取子view对象(fragment中)

private fun initView() {

        mLayout_home_to_audit_info = root!!.findViewById(R.id.mLayout_home_to_audit_info)
   
    }

之后使用中才不会空指针异常

 Layout_home_to_audit_info!!.visibility = View.GONE `
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 7,654评论 0 3
  • 作者:保罗·加利克国家:英国从伦敦飞往巴黎的班机上,坐着一位瘦小的老妇人。她衣着粗陋而整洁,看得出是个打杂女工。她...
    yxuiang阅读 4,086评论 0 1
  • 你有没有过这样的经历?不管你在做什么,耳边突然响起熟悉的旋律,一首承载着你记忆的老歌,然后,你的思绪就会飞回到很久...
    大叔的小妮阅读 1,501评论 0 1
  • 凌晨三点半 天空闭着眼 他们睡梦正恬 而我辗转难眠 神经交错如遇阻碍 理不清过去现在和未来 明月打哈欠的间隙 挡不...
    Wingwingyee阅读 1,404评论 2 3
  • http://jingyan.baidu.com/article/380abd0a4d021a1d91192c40...
    难以置信的优雅阅读 1,378评论 0 0