我使用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中定义的单元。
[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 Kotlin和in Java的工作方式进行阅读。
希望有帮助!