小编给大家分享一下Kotlin如何实现lateinit,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

lateinit

对于 Null 的检查是 Kotlin 的特点之一,所以在数据定义时,初始化数据。但有一些在 Android 中某些属性需要在 onCreate() 方法中初始化。

private lateinit var mAdapter: RecyclerAdapter<Transaction>

override fun onCreate(savedInstanceState: Bundle?) {
 super.onCreate(savedInstanceState)
 mAdapter = RecyclerAdapter(R.layout.item_transaction)
}

如果是基础数据类型:

var count: Int by Delegates.notNull<Int>()
var name:String by Delegate()

如果使用 Butter Knife:

@BindView(R.id.toolbar) lateinit var toolbar: Toolbar
override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(R.layout.activity_main)
  ButterKnife.bind(this)
  // you can now reference toolbar with no problems!
  toolbar.setTitle("Hello There")
}