[英]Launch activity outside of activity class
我有一个名为“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()
你永远不会在 Activity 类上调用 new 。 您调用 context.startActivity() 并且框架会为您调用 new 。 如果您在需要它的地方没有 Context,请将其作为参数传入。 但是您不能新建一个活动实例并使其工作。
除了 Gabe 的现场回答之外,这就是您使用代码的方式:
//create a new intent passing in the context and the 2nd activity
Intent intent = new Intent(MainActivity.this, PublicChat.class);
//launching the second activity
startActivity(intent);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.