我正在制作一个包含多个标签的Android应用程序,我按照指示我进行多项活动的开发人员教程。我在第一个标签上有微调器。
如何将微调器选择的值传递给其他选项卡?
感谢您的帮助。
答案 0 :(得分:1)
您可以使用SharedPreferences来完成此操作。每当应用程序中的任何位置更改Activities
时,您也可以利用OnSharedPreferenceChangeListener在其他SharedPreference
内进行回调。
使用SharedPreferences
将保证一致的数据和持久性。来自API docs:
首选项的修改必须 浏览SharedPreferences.Editor 对象以确保首选项值 保持一致的状态 控制他们何时致力于 存储
答案 1 :(得分:0)
另一个快速而肮脏的解决方案是使用静态类,例如:
public class OptionHelper
{
private static String option;
public static void setSelectedOption(String option)
{
//...
}
public static String getSelectedOption(){
//...
}
}
也许不推荐。 :)
答案 2 :(得分:0)
另一种解决方案是使用Application类。
答案 3 :(得分: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文档中被标记为“不使用”,因此我没有看到明显更好的解决方案。 根据您的操作,首选项的使用可能也不会“很好地扩展”。