相关疑难解决方法(0)

lateinit属性尚未初始化

我有一个自定义linearlayout类,当我想创建这个类的实例时,我得到一个错误lateinit属性尚未初始化 我正在使用最新版本的butterknife库

这是我的kotlin课程

class MenuItemView : LinearLayout {

@BindView(R.id.menu_title_text_view_id)
lateinit var menuTitleTextView : CTextBasic

constructor(ctx: Context) : super(ctx) {
}

init {
    val view = LayoutInflater.from(context).inflate(R.layout.menu_item,this)
    ButterKnife.bind(this,view)
}

constructor(ctx: Context, attrs: AttributeSet) : super(ctx, attrs) {
    val menuAttrs = context.theme.obtainStyledAttributes(attrs, R.styleable.MenuItemView, 0, 0)
    try {
        val title: String = menuAttrs.getString(R.styleable.MenuItemView_menu_title)
        menuTitleTextView.text = title
    }catch (e : Exception){
        e.printStackTrace()
    }finally {
        menuAttrs.recycle()
    }
}
fun setTitle( title : String){
    menuTitleTextView.text = title
}
}
Run Code Online (Sandbox Code Playgroud)

这是错误日志

    kotlin.UninitializedPropertyAccessException: lateinit property menuTitleTextView has …
Run Code Online (Sandbox Code Playgroud)

android kotlin butterknife

18
推荐指数
2
解决办法
4万
查看次数

标签 统计

android ×1

butterknife ×1

kotlin ×1