2012-02-14 56 views
1

我是Android的初學者。我有四個階段(四項活動)。在活動一中,當你點擊一個按鈕時,你必須存儲價值。例如counter1=3。每個階段都像第一階段。我想知道你是否可以告訴我如何將這些整數值加在一起並顯示出來。在Android應用程序的不同活動中添加四個值

我想補充:計數器1 +計數器2 +計數器3 + counter4 =得分

我如何加入這些階段一起?

回答

1

通過您的計數使用意向演員。以下是如何保持遞增計數的示例,但您可以從每個活動傳遞它們並在最後添加它們。

活動1

int count = 5; 

導航活動1 - 活性2

Intent intent = new Intent(this, Activity2.class); 
intent.putExtra("counter", count); 

活性2

int count = getIntent().getIntExtra("counter", 0); 

count += 3; // count is 8 

導航活性2 - 活動3

Intent intent = new Intent(this, Activity3.class); 
intent.putExtra("counter", count); 

Activity3

int count = getIntent().getIntExtra("counter", 0); 

count += 2; // count is 10 

導航活動3 - 活動4

Intent intent = new Intent(this, Activity4.class); 
intent.putExtra("counter", count); 

活動4

int count = getIntent().getIntExtra("counter", 0); 

count += 1; 

Log.i("TAG", "Your count is:"+count); // 11 
+0

感謝您的回覆。我使用按鈕來獲得價值,我也使用列表視圖來顯示我的階段。我無法運行它。我認爲,當我選擇一個階段,例如stage1,然後返回菜單選擇另一個階段,例如階段2時,得分會變成零,就像我第一次打開活動時一樣。 我該如何解決這個問題。 – 2012-02-15 00:05:06

+0

如果您使用後退按鈕。您必須將計數器存儲在SharedPreferences中以保持持久性,或者使用您的一項活動查看startActivityForResult()和onActivityResult()。 – Blundell 2012-02-15 08:38:35

+0

所以,你有什麼有用的,容易toturial瞭解如何SharedPreferences或啓動ActivityForResult工作?--->在此先感謝:) – 2012-02-16 04:58:08

0

將值作爲Bundle的一部分從一個活動傳遞到另一個活動。在每個活動中,添加您想要的值並再次將其存儲在Bundle中並傳遞到下一個活動。請參閱此鏈接,瞭解如何使用Bundle在活動之間傳遞數據。

+0

因爲我是初學者,我該如何做到這一點? – 2012-02-14 22:53:17

+0

通過示例鏈接更新了我的答案。 – kosa 2012-02-14 22:53:38

+0

Intent intent = new Intent(stagel.this,totalScore.class); Bundle b = new Bundle(); \t \t \t \t b.putInt(「counter」,counter); \t \t \t \t意圖。putExtras(b)中; \t \t \t \t startActivity(intent); \t \t \t \t finish(); – 2012-02-14 22:55:33

1

發送值設置到下活動像以下:

Intent intent = new Intent(getApplicationContext(), NextActivity.class); 
intent.putExtra("key", value); 
startActivity(intent); 

然後在接收NextActivity,讀值以下一樣:

Bundle extras = getIntent().getExtras(); 
int receivedValue = extras.getString("key"); 

現在你可以從這個活動增加值,並將其傳遞到下一個。

+0

意圖意圖=新的意圖(getApplicationContext(),NextActivity.class); intent.putExtra(「counter」,value); startActivity(intent);我必須改變counter1的密鑰?我從button中獲得價值。我必須在按鈕的onclickListener中使用此代碼? – 2012-02-15 01:23:52

+0

是的。你可以這樣做:myButton.setOnClickListener(new OnClickListener(){//把代碼放到startActivity這裏}); – 2012-02-15 07:04:39

+0

謝謝,它的作品。:) – 2012-02-16 04:55:58

相關問題