繁体   English   中英

在活动类之外启动活动

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM