2011-04-21 85 views
2

我的Android應用程序中有一個類,它對AndroidApplication對象進行子類化。該文件說:未被調用的Android應用程序子類構造函數

公共無效的onCreate()

因爲:當 應用程序啓動,調用之前的任何 其他應用程序對象API等級1已創建 。實施方式中應儘可能快 儘可能(例如,使用狀態的 延遲初始化),因爲 在這個函數 花費的時間直接影響的 開始的第一個活動,服務,或 接收機中的處理性能。如果您 覆蓋此方法,請務必

調用super.onCreate()。

我在我的子類的構造函數中放置了一個斷點,當我運行我的應用程序時,它永遠不會到達。當然,當我從其他代碼中調用子類的getInstance()方法時,它會返回NULL,因爲在構造函數被調用時實例變量被初始化(應該是)。

誰能告訴我什麼是錯的?我會從文檔中假設我不需要自己創建一個AndroidApplication子類的實例,或者我可以嗎?我是否應該修改我的清單文件以添加AndroidApplication子類,如果是這樣,如何?

- roschler

+0

你能顯示你的代碼嗎? – 2011-04-21 20:33:12

+0

看下面,謝謝。 – 2011-04-21 20:38:38

+0

也有你在Manifest中聲明你的應用程序類嗎? – 2011-04-21 20:39:59

回答

6

我在這裏發佈的答案給其他人。是的,您需要將您的Application對象子類的名稱添加到Android清單中。對於Eclipse用戶,最簡單的方法是打開AndroidManifest.xml文件,在清單編輯器中選擇應用程序選項卡,然後使用名稱字段旁邊的瀏覽按鈕查找您的Android應用程序對象子類名稱並選擇它。清單文件將被正確更新以進行註冊。我只是這樣做,它的工作。

+0

非常感謝!由於這一點,我注意到我意外地在清單中放置了name =「MyApp」而不是** android:** name =「MyApp」,我想知道爲什麼我的構造函數從未被調用過... – 2012-04-05 12:44:55

1

我有一個沒有問題。在我的應用程序類名之前。 應該是: android:name =「。MyApp」

由於MyApp類位於清單中定義的包中。

相關問題