2012-06-07 104 views
1

我寫了一個Android應用程序。我的應用程序中有很多活動,活動之間有很多轉換。我決定實現一個狀態mashine,它將切換我的活動。 我希望在我的Application類或其子類中實現一個狀態機,但是我無法從中啓動任何活動。Android狀態機

public class MainAppClass extends Application {} 

代碼像這樣的失敗:

Intent intent = new Intent(); 
intent.setClass(this.MyActivity, Screen2Activity.class); 
StartActivity(intent); 

也許,是不真實的是對這樣的任務的其他方法? 感謝您的回答!

+0

我沒有看到問題? – TheBlueCat

+1

你爲什麼要這麼做?應用程序類在您啓動主要活動時自動生成(在您將其添加到清單後)...您不需要從應用程序類中啓動活動(我也不相信您應該)。 – Barak

+0

謝謝,我澄清了我的帖子 – RuSTer

回答

1

這是另一個問題:你爲什麼試圖從Application的子類中開始一個活動?

閱讀本(從文件),你就會明白爲什麼你正在嘗試做沒有任何意義。

Application類是需要維護全局應用程序狀態的基類。通常不需要子類化應用程序。在大多數情況下,靜態單例可以以更模塊化的方式提供相同的功能。如果你單身,需要一個全球範圍內(例如註冊廣播接收機),該函數來檢索它可以給內部使用Context.getApplicationContext()時,首先構建一個單Context

如果修改原來的職位,闡明爲什麼你試圖做到這一點,也許我可以指出你到啓動Screen2Activity更合適的方法。

+0

謝謝,我澄清了我的帖子 – RuSTer