簡體   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