2012-08-27 67 views
1

在從1日的活動傳遞一個變量的值到第3活動,我應該使用intent.putextra或者我應該把這些變量作爲全局變量,這樣我可以在任何使用它活動。從1 activty傳遞變量的值到第3活動

+1

使用單http://stackoverflow.com/ a/7886046/1012284,http://stackoverflow.com/q/8489239/1012284 –

回答

1

最好的方法是使用意圖。

不過,您有時需要一個更持久的變量,或者存儲更復雜的對象。在這些情況下,你可以在單例類中使用一個靜態變量。

+0

你能告訴我哪一個更快嗎?還有一個問題。 –

+0

靜態變量消耗更多的內存,但通常很容易用於開發人員。 – Aerilys

1

這絕對是您的決定,但我想用戶可以轉到活動2並按回來,從而取消此變量的需要。

最好的選擇是將值作爲額外值發送到活動2.然後,如果需要,它可以將其發送到活動3。

提醒 不要靜態變量的使用靜態variables是錯誤幾乎總是

+0

爲什麼使用公共靜態變量是錯誤的? 我認爲如果我使用靜態變量而不是putextra更簡單。 –

4

您有幾種選擇:

  • 實現自己的應用程序類,使這個變量的屬性類
  • 保存並在首選項中獲取此變量
+0

是@Orabig,應用程序類在ANDROID中提供全局變量概念。 –

0

可以通過sesssion ID到signout活動的意圖烏爾使用啓動活動:

Intent intent = new Intent(getBaseContext(), SignoutActivity.class); 
    intent.putExtra("EXTRA_SESSION_ID", sessionId); 
    startActivity(intent) 

注:請會話ID提供給要允許用戶signout每一次活動。否則,你可以將它存儲在應用程序對象,但那麼你就必須管理會話的狀態(檢查它是否在使用它之前有效,...)

相關問題