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