【问题标题】:unresolved reference: override (onCreate)未解决的参考:覆盖(onCreate)
【发布时间】: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


【解决方案1】:

您的代码中存在语法错误。删除“locManager”变量声明行末尾的句号。这应该可以解决您的问题。

// GPS TEST
val locManager = LocationManager.GPS_PROVIDER

【讨论】:

  • 不用担心@G.Lukas !当您说您一直在使用 Kotlin 时,我意识到这一定是语法错误,这是唯一存在问题的类:P 句号很难看到,并且在 Android Studio 中没有特别突出显示作为问题。
【解决方案2】:

这里是 manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.gehring.lukas.spots">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MenuActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".SpeicherActivity" />

    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="AIzaSyC0UexE7q6vmBsohyJPkIwRbp1V75em9o4" />

    <activity
        android:name=".SpeicherDetailActivity"
        android:label="@string/title_activity_speicher_detail"
        android:theme="@style/AppTheme.NoActionBar"></activity>
</application>

</manifest>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-05
    • 1970-01-01
    • 2021-08-17
    • 2016-12-14
    • 2020-05-27
    • 2019-11-16
    • 2021-01-24
    • 2023-03-25
    相关资源
    最近更新 更多