Java Android:如何从不同的活动中启用设置?

Java Android:如何从不同的活动中启用设置?,java,android,android-preferences,Java,Android,Android Preferences,我想从另一个活动(主活动)切换SwitchPreference 我有一个活动,询问用户是否要启用通知。它包含两个按钮,单击是或否,如下所示: 我希望保存答案,并切换SwitchPreference,打开表示是,关闭表示否。(以及SwitchPreference状态) 我真的很想知道怎么做 如果您有任何建议或答案,我们将不胜感激。您有两种选择 您可以按照@0X0nosugar的建议执行,只需将新的设置值存储在SharedReferences中,并在恢复上一个活动时检查该值 您可以使用startAc

我想从另一个活动(主活动)切换SwitchPreference

我有一个活动,询问用户是否要启用通知。它包含两个按钮,单击是或否,如下所示:

我希望保存答案,并切换SwitchPreference,打开表示是,关闭表示否。(以及SwitchPreference状态)

我真的很想知道怎么做


如果您有任何建议或答案,我们将不胜感激。

您有两种选择

  • 您可以按照@0X0nosugar的建议执行,只需将新的设置值存储在SharedReferences中,并在恢复上一个活动时检查该值
  • 您可以使用
    startActivityForResult(intent,一些常量标识符)
    (而不仅仅是
    startActivity(intent)
    )让设置活动将结果返回给调用活动。这里的概念是,您正在开始一个新的活动,该活动将返回一个返回到上一个活动的结果。然后,您可以检查该值,将其存储在需要的位置,并更新任何相关的UI项。这里有一篇关于这是如何工作的文章

  • 您可以保存用户的选择,例如,在其他活动启动后,立即从中检索值(在onStart()或onResume()中)嗨@Jeremy Fox,谢谢您的回答!非常感谢!问题:如何在“设置”活动中更新开关首选项的状态?@magicmass为了确保我正确理解问题,您正在询问如何根据先前选择的首选项更新“设置”活动中开关的可视状态。对吗?如果是这样,那么您只需要将状态(选定的首选项)存储在SharedPrefs中,这样您就可以在任何时候显示设置活动时调用存储的状态。