【发布时间】:2018-04-07 11:31:21
【问题描述】:
为什么在onCreate 方法的覆盖上有一个未解析的引用? (科特林)
// unresolved reference: override
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// MapFragment erstellen und anzeigen
startMapFragment()
mapFragment.getMapAsync(this)
// OnClickListener für SpeicherDetailActivity
btnDetailSpeichern.setOnClickListener {
val detailIntent = Intent(this, SpeicherDetailActivity::class.java)
startActivity(detailIntent)
}
}
我尝试清理和重建项目。 我删除了 onCreate 方法并让 AndroidStudio 生成一个新方法(通过按 CTRL + O)。 我从另一个 Activity 复制了一个 onCreate 方法, 但这些都不起作用。
这是完整的活动:
class SpeicherActivity : AppCompatActivity(), OnMapReadyCallback {
// Variablem für MapFragment erstellen
var mapFragment = MapFragment.newInstance()
var fragmentTransaction = fragmentManager.beginTransaction()
var muennerstand : Ort = Ort(20.0, 5.0, "Münnerstadt", "", 0.0f)
var standartMarker = MarkerOptions().position(LatLng(muennerstand.latitute, muennerstand.longitute)).title("standart")
// GPS TEST
val locManager = LocationManager.GPS_PROVIDER.
// unresolved reference: override
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// MapFragment erstellen und anzeigen
startMapFragment()
mapFragment.getMapAsync(this)
// OnClickListener für SpeicherDetailActivity
btnDetailSpeichern.setOnClickListener {
val detailIntent = Intent(this, SpeicherDetailActivity::class.java)
startActivity(detailIntent)
}
}
// MapFragment erstellen und anzeigen
fun startMapFragment() {
fragmentTransaction.add(R.id.fragmentContainer, mapFragment)
fragmentTransaction.commit()
}
override fun onMapReady(mMap : GoogleMap?) {
mMap?.addMarker(standartMarker)
}
}
【问题讨论】:
-
一些有助于我们解决此问题的其他详细信息:1) 您的项目中是否还有其他没有此问题的 Kotlin 活动? 2) 您最近是否从在项目中使用 Java 迁移到使用 Kotlin? 3) 请发布您的 Gradle 构建和应用程序配置文件以供我们查看 - 特别是 Kotlin 构建设置。
-
我之前在这个项目中没有使用过 Java,我是从 Kotlin 开始的。只有这个类有这个问题,其他类工作完美。在我向清单添加一些权限之前,这个类太有效了。
标签: kotlin