2014-07-14 65 views
-2

你好,
我有一個應用程序需要從調用類的方法調用新類。
具體而言,我有一個班,這是一個活動,並在該班內我稱surfaceView類,我已經實施。來電者類的觸發器方法

我現在想調用startActivity(intent)時,發生在surfaceView中的東西。

由於我無法從surfaceView調用另一個活動,因此我想調用類中名爲sufaceView類的方法。

到目前爲止,我已經嘗試過類似:

public void startActivity() { 
    Start.lose(); 
} 

何在開始是調用類的,我已經加入像import com.example.Start;和輸方法我稱之爲像這樣:

public static void lose(){ 
    c.startActivity(new Intent(c,GameOver.class)); 
} 

何在c是上下文(applicationContext是具體的)。我必須這樣做,因爲此方法是static,這是從靜態方法調用活動的唯一方法,但它在logcat中崩潰並且不會發生任何錯誤。

有什麼建議我可以在這裏做什麼?

好吧我logcat被竊聽,現在我得到的錯誤信息:

07-14 14:42:43.545: E/AndroidRuntime(13111): FATAL EXCEPTION: Thread-115 
07-14 14:42:43.545: E/AndroidRuntime(13111): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? 
07-14 14:42:43.545: E/AndroidRuntime(13111): at android.app.ContextImpl.startActivity(ContextImpl.java:856) 
07-14 14:42:43.545: E/AndroidRuntime(13111): at android.content.ContextWrapper.startActivity(ContextWrapper.java:276) 
07-14 14:42:43.545: E/AndroidRuntime(13111): at com.example.fishtruck.Start.lose(Start.java:92) 
07-14 14:42:43.545: E/AndroidRuntime(13111): at com.example.fishtruck.GameView.startActivity(GameView.java:314) 
07-14 14:42:43.545: E/AndroidRuntime(13111): at com.example.fishtruck.GameView$GameThread.lose(GameView.java:227) 
07-14 14:42:43.545: E/AndroidRuntime(13111): at com.example.fishtruck.GameView$GameThread.run(GameView.java:208) 
+0

崩潰沒有日誌?不可能 –

+0

現在看看它,我有一個logcat – Pavle37

+0

問題很明顯,你需要在開始活動時設置標誌FLAG_ACTIVITY_NEW_TASK。 –

回答

0

我固定它,像這樣:

c.startActivity(new Intent(c,GameOver.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); 

感謝庫馬爾對我的幫助。