2010-12-16 115 views
0

訪問用戶類時,當我嘗試打電話給我的自定義類的一個從Thread構造我得到一個例外,我不知道爲什麼...安卓:從崩潰線程

我主要的應用可以歸結爲:

public class GameView extends SurfaceView implements OnTouchListener, SurfaceHolder.Callback 
{ 
    class GameThread extends Thread 
    { 
     private GfxData m_GraphicsData; 

     public GameThread(SurfaceHolder surfaceHolder, Context context, Handler handler) 
     { 
     Log.i("****", "GameThread::GameThread"); 
     m_GraphicsData.InitGfx();; 
     Log.i("****", "GameThread::end"); 
     } 
... (other required functions) 
} 

我GfxData類(整個文件)

package mypackage.stuff; 

public class GfxData 
{ 
    public GfxData() 
    { 
    } 

    public void InitGfx() 
    { 
    } 
} 

類GameThread永遠不會到達構造結束;我已經從我的GfxData類(我打算傳遞上下文以便我可以使用它來管理我的資源)中刪除幾乎所有內容,但仍會導致崩潰;然而,如果我刪除InitGfx()調用一切都很好

我被詛咒了!幫助將不勝感激。

+2

GfxData似乎不是靜態的,你確定,你不需要初始化它嗎? (例如'private GfxData m_GraphicsData = new GfxData') - 如果您可以發佈您獲得的異常,這將有所幫助。 – Select0r 2010-12-16 11:25:11

+0

啊!那就是它;謝謝。你可以告訴我通常用C++編寫代碼不是嗎? – Rob 2010-12-16 12:02:00

+0

嗯...不;)如果真的是這個問題,我希望我的粗略猜測是一個答案,而不是一個評論。哦,好吧... – Select0r 2010-12-16 13:05:13

回答

1

GfxData似乎不是靜態的,你確定,你不需要初始化它嗎?
例如private GfxData m_GraphicsData = new GfxData

它會幫助,如果你可以發佈你得到的例外。

+1

要清楚,靜態成員也需要初始化;只是它們只需要被初始化一次,無論調用構造函數多少次。 – 2010-12-16 15:45:12

+0

+1(評論需要15個字符:) – Select0r 2010-12-17 09:03:14