问题信息
file:///xxxx.kt xx:xx Accidental override: The following declarations have the same JVM signature (getHandler()Landroid/os/Handler;):
fun `<get-handler>`(): Handler defined in com.example.myapplication.DrawView
fun getHandler(): Handler? defined in com.example.myapplication.DrawView
问题原因
这是因为在kotlin类中创建的变量与父类中的getXXX或者setXXX冲突导致,比如在自定义View中新建了一个handler变量,但是父类中默认存在getHandler()函数,所以就会冲突,因为在kotlin中默认会存在一个handler变量指向的就是getHandler(),所以在新建该变量时就会编译异常。
解决方法
修改自建的变量名即可,或者直接使用父类中已经存在的。