gpt4 book ai didi

android - 将一个 Activity 的引用传递给另一个 Activity

转载 作者:太空宇宙 更新时间:2023-11-03 10:22:38 25 4
gpt4 key购买 nike

我知道我可以使用 Intent 在 Activity 之间传递一些值。但是,如果我想将整个 Activity 传递给另一个 Activity,我认为这不是好方法。还有另一种方法吗?

我有设置 Activity ,我正在其中更改一些颜色。所以在我回到我的主要 Activity 后,我想应用这些颜色。为此,我需要在更改 Color 值后访问 MainActivity 字段,因此在 PreferenceActivity 中。换句话说,我想从 PreferenceActivity 类访问 Main Activity 字段。有什么想法吗?

最佳答案

您应该使用 SharedPreference,然后在您的主要 Activity 中访问它。我建议您阅读 http://developer.android.com/guide/topics/ui/settings.html因为您似乎错误地实现了设置 Activity 。您可能特别感兴趣的部分是“阅读首选项” 部分。但是,我强烈建议您通读整篇文章,然后以正确的方式实现您的设置。

用 3 种不同的方式更新了答案(我能想到的):

1) 使用 startActivityForResult() 启动您的首选项 Activity ,然后在您的 onActivityResult() 中访问 SharedPreference 并进行必要的更改。 参见 here

2) 向您的 MainActivity 注册一个 SharedPreferenceChangeListener,当您的 SharedPreference 发生任何更改时将调用它。 参见 here 进行详细讨论。另请参阅我的初始回复。

3) 在您的 MainActivity 的 onResume() 中,访问 SharedPreference,然后在那里进行更改。我不喜欢这种方法,因为你会用更多的逻辑使 onResume() 变得困惑,而且你可能还必须有一个变量来跟踪你感兴趣的变量的状态。

我个人会选择选项 2,因为回调正是为此目的而创建的。

关于android - 将一个 Activity 的引用传递给另一个 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17480392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com