gpt4 book ai didi

java - 在非 Activity 类中使​​用 Android Context

转载 作者:行者123 更新时间:2023-11-30 00:53:33 24 4
gpt4 key购买 nike

我经常遇到这样的问题,我不能使用某些东西,因为它需要上下文。

例如,如果您有一个要在类中使用的 Toast,则您需要上下文,但您不能使用任何上下文,因为您不在 Activity 中。

现在我所做的是,我给那个类我创建了一个在构造函数中设置的变量“上下文”,但我真的认为这是不对的。

那么我如何处理非 Activity 类中的上下文呢?

提前致谢:)

最佳答案

切勿将对上下文的引用保留为成员变量或静态变量,因为它可能会导致内存泄漏,因为 GC 很难收集引用。

由于您在非 Activity 类中使用上下文,我假设该类是某种带有静态方法 block 的辅助类。

例如:

public class ToastMessageHelper {

public static void showToast(Context context) {
Toast.makeText(context, "Hello",Toast.LENGTH_SHORT).show();
}

}

最好将上下文作为参数传递给需要上下文执行的方法。

现在,您可以简单地调用,

ToastMessageHelper.showToast(context);

在您的 Activity 或 fragment 中。希望这对您有所帮助!

关于java - 在非 Activity 类中使​​用 Android Context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40552915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com