Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 什么';对AppButton进行子类化的正确方法是什么?_Android_Kotlin_Android View_Android Appcompat - Fatal编程技术网

Android 什么';对AppButton进行子类化的正确方法是什么?

Android 什么';对AppButton进行子类化的正确方法是什么?,android,kotlin,android-view,android-appcompat,Android,Kotlin,Android View,Android Appcompat,当子类化AppCompatTextView而不是AppCompatButton时,一切都很好,即使 两者都继承,因此子类可以有自己的基样式。这正是我想要做的 我在棒棒糖构造函数的super调用中发现一个错误,即使用提供的参数无法调用任何函数!是什么让你如此特别 根据,AppCompatButton没有4参数构造函数,尽管视图有4参数构造函数-构造函数的处理方式与方法不同 // FooButton.kt class FooButton : AppCompatButton { @JvmOve

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

我在棒棒糖构造函数的
super
调用中发现一个错误,即使用提供的参数无法调用任何函数!是什么让你如此特别

根据,
AppCompatButton
没有4参数构造函数,尽管视图有4参数构造函数-构造函数的处理方式与方法不同

// 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
}