gpt4 book ai didi

java - 在 Java 中创建新的 Activity() 时抛出异常

转载 作者:行者123 更新时间:2023-11-30 10:55:41 25 4
gpt4 key购买 nike

当我的代码运行到这一行时:

Context context = new Activity().getApplicationContext();

抛出的异常:

java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

我尝试创建 new Handle() 并在它之前添加 Looper.prepare(),但是它不起作用。

最佳答案

Android 中的上下文不是抽象的东西。它是应用程序及其组件当前状态的真实上下文(或者您可以将其假设为环境)。

因此,您不应该仅仅为了使用它提供的功能而创建“上下文”的新实例。正确的方法是使用实​​际存在的上下文。这里有两种方法:

  • 使用现有组件的上下文 - 这种方式在大多数情况下更可取。任何继承 Context 的类都可以扮演这个角色。如果在代码的该范围内没有可访问的上下文对象,您可以将其作为参数传递到方法调用或类构造函数中。
  • 使用Application contex - 这里是simplest solution了解如何从应用程序中的任何位置以静态方式访问应用程序上下文。此解决方案将解决您的问题,但它也有 disadvantages使用它时值得考虑的因素。

关于java - 在 Java 中创建新的 Activity() 时抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33277407/

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