Google MapView使用Kotlin实现OnMapReadyCallback

问题描述 投票:0回答:1

我使用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”类不是抽象类,并且未实现抽象成员公共抽象乐趣onMapReady(p0:GoogleMap!):在com.google.android.gms.maps.OnMapReadyCallback中定义的单元。

kotlin android-mapview implements
1个回答
0
投票

[OnMapReadyCallback][1]是具有单个方法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的工作方式进行阅读。

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.