Kotlin使用ButterKnife自定义View的参数名

一般使用kotlin的时候不再需要显式的@BindView了,而可以直接使用view的id来操作这个view。
如果按照kotlin变量名初始化,会提示@BindView fields must not be private or static,即便var默认是public的
@BindView(R.id.tv)
var mTv: TextView? = null

但是如果我们还是想使用java的那套@BindView机制怎么办? 可以这样

@BindView(R.id.tv)
lateinit var mTv: TextView

使用lateinit来延迟初始化即可。

你可能感兴趣的:(Kotlin使用ButterKnife自定义View的参数名)