首页 > 解决方案 > 在活动类之外启动活动

问题描述

我有一个名为“MainActivity”的活动类,我正在尝试从 MainActivity 类之外启动一个不同的活动。我试过这个:

MainActivity mainActivityInstance = new MainActivity();
Intent launchPublicChat = new Intent(mainActivityInstance, PublicChat.class);
mainActivityInstance.startActivity(launchPublicChat);

当我尝试时它会抛出这个错误:

java.lang.RuntimeException: Can't create handler inside thread Thread[Thread-3,5,main] that has not called Looper.prepare()

标签: javaandroid

解决方案


您永远不会在 Activity 类上调用 new 。您调用 context.startActivity() 并且框架会为您调用 new。如果您没有需要它的上下文,请以某种方式将其作为参数传递。但是您不能新建一个活动实例并使其工作。


推荐阅读