【发布时间】:2018-02-09 19:31:17
【问题描述】:
在 Java 和 Android 中,我们可以这样做:
public static MyApplication extends Application {
private static Context appContext;
public void onCreate() {
appContext = this;
}
public static Context getAppContext() {
return appContext;
}
}
这样,我们可以在其他地方这样做:
appContext = MyApplication.getAppContext();
我们如何在 Kotlin 中做到这一点?过去一个小时左右,我一直在兜圈子。
提前致谢。
//编辑 也许我应该更清楚。我的意思是我们如何在 Kotlin 中编写上述内容并在 Kotlin 中使用它。
【问题讨论】:
-
只需调用appContext。我认为 Kotlin 与外部类一起工作以进行像 kotlin 这样的调用(但在可能的情况下,在 Java 字节码中使用 getter 代替)。调用 MyApplication.appContext 应该就够了
-
@Xvolks 问题是关于访问 Java 代码中恰好是私有的静态字段。这不是重复的。
-
@the_new_mr 你不应该在静态字段中放置上下文。这是内存泄漏
-
@LunarWatcher OP 想要静态调用
getAppContext(),就像我在线程中指出的那样。我错过了什么吗?