我正在制作一个带有多个选项卡的Android应用程序,并且我遵循了指示我进行多项活动的开发者教程。第一个标签上有纺纱机。Android:通过选项卡跨越选项卡
如何将由spinners选择的值传递给其他选项卡?
谢谢你的帮助。
我正在制作一个带有多个选项卡的Android应用程序,并且我遵循了指示我进行多项活动的开发者教程。第一个标签上有纺纱机。Android:通过选项卡跨越选项卡
如何将由spinners选择的值传递给其他选项卡?
谢谢你的帮助。
您可以使用SharedPreferences来完成此操作。只要SharedPreference
在应用程序中的任何位置发生更改,您也可以利用OnSharedPreferenceChangeListener在其他Activities
中获得回调。
使用SharedPreferences
将确保数据一致和持久。从API docs:
修改的喜好必须 经历一个SharedPreferences.Editor 对象,以确保优先级值 保持在一致的状态和 控制时,他们都致力于 存储。
另一种快速和肮脏的解决方案将与静态类合作,如:
public class OptionHelper
{
private static String option;
public static void setSelectedOption(String option)
{
//...
}
public static String getSelectedOption(){
//...
}
}
也许不推荐使用。 :)
另一种解决方案是使用Application类。
在我的应用我有一个需要到处传递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文档中被标记为“不使用”,所以我没有看到明显的更好的解决方案。 根据您的操作,首选项使用情况可能也不会“很好地扩展”。
嗨,Heiko有趣的发现应用程序类在Android文档中被标记为“不要使用”。请您指出我的方向,我找不到那个。我认为它是一种维护应用程序全局的方法州。 – syam 2011-01-24 04:44:18
我已经使用SharedPreferences实现了一个解决方案。感谢您的想法和链接。 – Gilbert 2011-01-28 00:34:27