自定义View内部添加TextView无法显示[复制链接]

我是想打算使用继承LinearLayout,然后往里面添加两个TextView
但是,使用的时候却发现自定义View无法显示,
有些疑惑,想请教大佬,可能是我步骤错了?

class ItemView(context: Context?, attrs: AttributeSet?) : LinearLayout(context) {
    var tffFileString: String? = null
        set(value) {
            if (field != null) {
                initLayout()
            }
        }
    var imgString: String? = null
    var descText: String? = null
    var imgSize: Float? = null
    var descTextSize: Float? = null
    var imgColor: Int? = null
    var descTextColor: Int? = null

    init {
        val typedArray = context?.obtainStyledAttributes(attrs, R.styleable.itemview)
        tffFileString = typedArray?.getString(R.styleable.itemview_tffFilePath)
        imgString = typedArray?.getString(R.styleable.itemview_imgString)
        imgColor = typedArray?.getColor(R.styleable.itemview_imgColor, 0)
        imgSize = typedArray?.getDimension(R.styleable.itemview_imgSize, 25.toFloat())
        descTextSize = typedArray?.getDimension(R.styleable.itemview_descTextSize, 12.toFloat())
        descText = typedArray?.getString(R.styleable.itemview_descText)
        descTextColor = typedArray?.getColor(R.styleable.itemview_descTextColor, 0)
        typedArray?.recycle()
        if (tffFileString != null) {
            //不为空则布局,否则在setTffFileString方法里进行布局
            initLayout()
        }
    }
stars-one 286查看 · 2回复 · 2020-2-17 23:36 有用(0
共2个回答
wqh12345 2020-3-15 20:50 回复

你有没有设置LinearLayout的属性,并且super

stars-one 2020-3-28 16:54 回复
wqh12345 发表于 2020-3-15 20:50
你有没有设置LinearLayout的属性,并且super

已解决,是因为没有重写2个参数的父类方法
需要登入后才可以评论 登录 | 立即注册