2011-01-23 66 views
0

我正在製作一個帶有多個選項卡的Android應用程序,並且我遵循了指示我進行多項活動的開發者教程。第一個標籤上有紡紗機。Android:通過選項卡跨越選項卡

如何將由spinners選擇的值傳遞給其他選項卡?

謝謝你的幫助。

回答

1

您可以使用SharedPreferences來完成此操作。只要SharedPreference在應用程序中的任何位置發生更改,您也可以利用OnSharedPreferenceChangeListener在其他Activities中獲得回調。

使用SharedPreferences確保數據一致持久。從API docs

修改的喜好必須 經歷一個SharedPreferences.Editor 對象,以確保優先級值 保持在一致的狀態和 控制時,他們都致力於 存儲。

+0

我已經使用SharedPreferences實現了一個解決方案。感謝您的想法和鏈接。 – Gilbert 2011-01-28 00:34:27

0

另一種快速和骯髒的解決方案將與靜態類合作,如:

public class OptionHelper 
{ 
    private static String option; 

    public static void setSelectedOption(String option) 
    { 
     //... 
    } 
    public static String getSelectedOption(){ 
     //... 
    } 
} 

也許不推薦使用。 :)

0

在我的應用我有一個需要到處傳遞Account對象 - 我把它Parcelable

https://github.com/pilhuhn/ZwitscherA/blob/master/src/de/bsd/zwitscher/account/Account.java#L11

,只是把它添加到Intents

https://github.com/pilhuhn/ZwitscherA/blob/master/src/de/bsd/zwitscher/TabWidget.java#L83

和在接收器中讀回:

https://github.com/pilhuhn/ZwitscherA/blob/master/src/de/bsd/zwitscher/OneTweetActivity.java#L76

也許不是最好的選擇。但我真的不認爲靜態單例最好(可能來自我的Appserver背景),而且應用程序在Android文檔中被標記爲「不使用」,所以我沒有看到明顯的更好的解決方案。 根據您的操作,首選項使用情況可能也不會「很好地擴展」。

+0

嗨,Heiko有趣的發現應用程序類在Android文檔中被標記爲「不要使用」。請您指出我的方向,我找不到那個。我認爲它是一種維護應用程序全局的方法州。 – syam 2011-01-24 04:44:18