【发布时间】:2018-02-23 06:56:17
【问题描述】:
我是一名 Java/Kotlin 新手,正在开发一个 Android 应用程序。我尝试在 YourApplication.kt 中实现以下内容,我在这里找到了:https://stackoverflow.com/a/42679191/4666306
package com.tijaname.fortysix
import android.app.Activity
import android.app.Application
import android.os.Bundle
import android.util.Log.println
class YourApplication : Application() {
override fun onCreate() {
super.onCreate()
registerActivityLifecycleCallbacks(AppLifecycleTracker())
}
}
class AppLifecycleTracker : Application.ActivityLifecycleCallbacks {
private var numStarted = 0
override fun onActivityStarted(activity: Activity?) {
if (numStarted == 0) {
println("Activity has started");
}
numStarted++
}
override fun onActivityStopped(activity: Activity?) {
numStarted--
if (numStarted == 0) {
println("Activity has stopped");
}
}
}
我加了
ext.kotlin_version = '1.1.51'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
到我的 gradle 脚本。我还将它添加到我的清单中:
<activity android:name=".YourApplication"></activity>
我尝试像这样调用 kotlin 脚本(来自我在 java 中的 MainActivity):
Intent intent = new Intent(getBaseContext(), YourApplication.class);
startActivity(intent);
但我收到以下错误:
类 'YourApplication' 不是抽象的,没有实现抽象成员 public abstract fun onActivityResumed(p0: Activity!)...
我按照 Android-Studio 的建议将其抽象化,但这导致了更多错误。
我还尝试按照 AS 的建议“实施成员”,但这会使我的应用程序在模拟器中崩溃。
谢谢!
【问题讨论】:
-
您创建了应用程序类,但试图将其作为活动。这是错的。您到底需要什么,活动类还是应用程序类?
标签: java android android-studio kotlin