2012-08-09 28 views
0

我有一個名爲Chat的類,它擴展了Activityandroid java inheritance

當我創建Chat類時,我在Application類中保存了對它的引用。

onCreate(Bundle) { 
    setCurrentActivity(this); 
} 

我想進入活動的聊天區域,以便使用它的一個方法。 我試圖做這樣的:

Chat chat = (Chat) getCurrentActivity(); 
chat.someUniqueFuction(); 

,但我看不到任何Chat方法。爲什麼?

+0

這些功能是公開的嗎? – eleven 2012-08-09 15:35:37

+0

我不太明白,但我不明白爲什麼你不需要在課堂上保存對課程的引用?你有關鍵字「this」。這個chat.someUniqueFunction()在哪裏被調用? – 2012-08-09 15:35:59

+3

即使在不需要時也可以保存活動的參考,這實在是一個糟糕的主意。這可能會導致內存泄漏。 – waqaslam 2012-08-09 15:36:32

回答

0

應用類就應該是這樣的

public void onCreate(){ 
    super.onCreate(); 
    setCurrentActivity(this); 
} 

,這會不會有希望的效果,因爲你會設置你的應用程序,它是不活動的currentActivity

0
onCreate(Bundle saveInstance){ 
    super.onCreate(); 
    Chat chat = new Chat(); 
    chat.someUniqueFuction(); 
}