代码之家  ›  专栏  ›  技术社区  ›  Andre Christianto

如何解决Kotlin上的pageradapter问题:“Required method instantiatem was not override”?

  •  0
  • Andre Christianto  · 技术社区  · 6 年前

    所以我的项目是调用Kotlin文件到Java:

    这是我收到的错误消息(运行时错误):
    java.lang.UnsupportedOperationException: Required method instantiateItem was not overridden



    这是我的 应用梯度

    apply plugin: 'kotlin-android'
    android {
        compileSdkVersion 26
    ....
        sourceSets {
            main.java.srcDirs += 'src/main/kotlin'
        }
    }
    
    dependencies {
    ....
        implementation "org.jetbrains.kotlin:kotlin-stdlib"
    }
    

    我的 工程分级 看:

    buildscript {
        ext.kotlin_version = '1.2.61'
        repositories {
    ...
    
    }
    dependencies {
    ....
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    
        }
    }
    






    最后,这是我的 科特林 代码,

    class SwipeAdapter : PagerAdapter {
    ....
    ...
        override fun instantiateItem(container: ViewGroup?, position: Int):Any {
          .....
         ....
            return super.instantiateItem(container, position)
        }
    
        .....
    }
    

    (我试图将其更改为java.lang.object,但当然出现了编译错误, 它必须是Kotlin的任何类型)

    呼吁 爪哇 文件:

    PagerAdapter sa= new SwipeAdapter(someArgs);
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   zsmb13    6 年前

    super

    @Deprecated
    @NonNull
    public Object instantiateItem(@NonNull View container, int position) {
        throw new UnsupportedOperationException(
                "Required method instantiateItem was not overridden");
    }
    

    View this question this tutorial PagerAdapter