【问题标题】:What's the correct way to subclass AppCompatButton?子类化 AppCompatButton 的正确方法是什么?
【发布时间】:2018-04-19 04:40:30
【问题描述】:
// FooButton.kt
class FooButton : AppCompatButton {
    @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0)
        : super(context, attrs, defStyleAttr)

    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
    constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int)
        : super(context, attrs, defStyleAttr, defStyleRes) // Nope
} 

当继承 AppCompatTextView 而不是 AppCompatButton 时,一切都很好,即使 两者都继承View's signature,因此子类可以有自己的基本样式。这正是我想要做的。

我在 Lollipop 构造函数的 super 调用中收到一个错误,即无法使用提供的参数调用任何函数。 AppCompatButton!是什么让你如此特别?!

【问题讨论】:

    标签: android kotlin android-view android-appcompat


    【解决方案1】:

    根据the documentation for AppCompatButtonAppCompatButton 没有有 4 参数构造函数,尽管 View 有 4 个参数构造函数 - 构造函数的处理方式与方法不同。

    【讨论】:

      猜你喜欢
      • 2017-12-09
      • 2013-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多