【问题标题】:Google MapView implements OnMapReadyCallback with KotlinGoogle MapView 用 Kotlin 实现 OnMapReadyCallback
【发布时间】:2020-04-18 19:54:09
【问题描述】:

我使用 EmptyActivity 并想在 MainActivity 中放置一个 MapView,我想我需要实现 OnMapReadyCallback,这是我的代码。

package com.example.myapplication
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.google.android.gms.maps.OnMapReadyCallback

class MainActivity : AppCompatActivity(), OnMapReadyCallback{

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

为什么我得到这个 错误:“MainActivity”类不是抽象的,并且没有实现抽象成员 public abstract fun onMapReady(p0: GoogleMap!): Unit defined in com.google.android.gms.maps.OnMapReadyCallback.

【问题讨论】:

    标签: kotlin android-mapview implements


    【解决方案1】:

    OnMapReadyCallback 是一个具有单一方法onMapReady 的接口。编译器告诉你的是,当你实现一个接口时,如果你的类本身既不是接口也不是抽象的,你必须为接口中定义的方法声明实现。所以你会像这样更新你的活动:

    class MainActivity : AppCompatActivity(), OnMapReadyCallback{
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
        }
    
        override fun onMapReady(map: GoogleMap) {
            // Add implementation here
        }
    }
    

    这可能会解决这个特定问题,但听起来您可能需要阅读接口以及它们如何工作 in Kotlinin Java

    希望有帮助!

    【讨论】:

    • 谢谢你的解释,我是初学者,我真的很需要。
    猜你喜欢
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 2017-08-19
    • 2020-02-03
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多