首页 > 解决方案 > 如何在 Kotlin 中设置文本内容自定义 TextView

问题描述

我只是在 Kotlin 中创建名为 MyTextView 的自定义 TextView 和 XML 布局。


 class MyTextView : TextView 
{
 constructor(context: Context) : super(context)
 {
     init()
 }

 constructor(context: Context, attrs: AttributeSet) : super(context, attrs)
 {
     init()
 }

 constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
 {
     init()
 }

 private fun init()
 {
     this.paintFlags = this.paintFlags or Paint.UNDERLINE_TEXT_FLAG
 }
}

<com.mypackage.MyTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/mytextview"
/>

但是当我尝试设置如下文本时

mytextview.text = "hi"

它说,未解决的参考。该怎么办?

它适用于普通的 TextView。

标签: androidkotlintextview

解决方案


您可能没有在布局中引用自定义 TextView 的包名称,并且活动充气器不知道在哪里可以找到该视图(您的自定义 TextView)。确保您在布局中引用了包名称,如下所示:

<your.package.name.MyCustomTextView />

并确保您设置了id属性

<your.package.name.MyCustomTextView android:id="@+id/mytextview" />

推荐阅读