2011-09-09 62 views
0

我正在製作一個簡單的應用程序來同時學習Android,我非常新手。Android,完成()ing

到目前爲止,這是我所:

應用通向levels.java其中有8個按鈕(在一個XML文件),點擊按鈕8時,我有這樣的代碼:

public void button_clicked8(View v) { 
     startActivity(new Intent(this, GameScreen.class)); 
} 

這將啓動我的gamescreen活動,打我的簡單的加法遊戲之後,我有一個按鈕,上面寫着「結束」,呼籲在它finish()一個功能外,還設置了一個變量gameover=true;,這個送我回levels.java

,但如果我再次按下按鈕8,它確實發送給我Gamescreen,但我發現gameover=true;仍然設置:(

爲什麼?我如何開始「新鮮」的活動?

謝謝!

+0

這個細節並沒有真正做出好的解釋,更多細節。 –

+0

基本上,我做了一個完成並去levels.java屏幕,然後我嘗試返回到遊戲屏幕,無論我設置了哪些變量仍然設置:( – Ryan

+0

謝謝你們!大家投了大家,因爲每個人都有一些有用的東西對我來說,但選擇了我用過的那種。 – Ryan

回答

1

我建議你的read my answer to another mildly similar question。基本上,完成與用戶點擊後退按鈕完全相同。作爲開發者,基於來自用戶的交互(即通過意圖)來改變狀態或多或少取決於你。

例如,你可以這樣做以下...

Intent intent = new Intent(); 
Bundle bun = new Bundle(); 

bun.putBoolean("newGame", true); 

intent.setClass(this, GameActivity.class); 
intent.putExtras(bun); 
startActivity(intent); 
1

我猜你不想啓動gamescreen時GAMEOVER是真的

public void button_clicked8(View v) { 
      if(gameOver) return; 
      startActivity(new Intent(this, GameScreen.class)); 
    } 
1

使用標誌的意圖時你啓動Activity。

0

如何重置gameoveronCreate() GameScreen的方法?

0

請閱讀有關的活動的生命週期here並儘可能設置您的gameover變量另一種方式來存儲的值與SharedPreferences。像這樣做:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); 
SharedPreferences.Editor editor = sharedPreferences.edit(); 
editor.putBoolean("gameover", true); 
editor.commit(); 

和閱讀你的價值,像這樣做:

Boolean gameOver = sharedPreferences.getBoolean("gameover", true); 

這樣做你永久設置你的價值,也不會擔心活動的生命週期事件。

0
u can declare a static boolean variable gameOver in levels.java. 

你可以修改GameScreen.java中的結束按鈕點擊。 當完成被稱爲所有d變量r被銷燬。你可以重寫GameScreen.java的onCreate(),onResume(),onDestroy(),onStart(),onPause(),onStop()來處理你的變量