2014-03-18 154 views
0

我需要在兩個活動之間傳遞一個對象,這兩個活動之間沒有任何關聯(意思是說,他們都不會調用其他活動)。如何在不相關的激活之間傳遞對象?

我的Main_activity擴展了TabActivity。我有2個選項卡:CurrencyList(擴展ListActivity實現OnItemSelectedListener)和CurrencyCalculator擴展活動。

我也有類currencyData,節省了大約不同的貨幣數據。

在CurrencyList活動中,我創建了一個新的currencyData對象並使用數據啓動它。

如何將它傳遞給CurrencyCalculator活動?

+0

爲什麼不使用Intent來傳遞它?或使其成爲應用程序成員或靜態? – Eenvincible

回答

0

2點快速的方法:

1. use an static method in your activity to retrieve current ticket id 
2. Design and implement an interface and register the fragments as listeners from the activity 

靜態方法優選的是,大的數據。

0

如果絕對它們之間沒有連接,則訪問在不同活動類別的數據的一種方法是將數據成員作爲靜態類成員聲明。請記住,即使在您銷燬活動之後,來自活動的靜態對象仍然存在,並且即使在您離開應用程序之後,Android也會將其保留一段時間。

0

這些可能不是最簡單的方法(只是給出兩個答案的一些替代方法)。您可以使用HandlerBroadcastReceiver通過意向將數據傳遞給其他活動。

注意

  • ,如果你想通過一個意圖通過它你的對象將不得不實現序列化兩種或 Parcelable。我之前和之前使用過 可序列化,只要您的對象沒有任何 嵌套的自定義對象,您實際上不必做任何額外的工作。
  • 此外,假設接收活動是活着的,並且 能夠接收廣播和/或消息。

另一種方法是將對象寫入文件(同樣需要可序列化)並將其讀回另一個活動中。