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 `
    原文作者:Qin0821
    原文地址: https://www.jianshu.com/p/d232f1d41488
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞