gpt4 book ai didi

java - Android - 当偏好改变时在 Activity 中做一些事情

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

我有两个类,CustomerPreferences extends PreferenceActivity implements OnSharedPreferenceChangeListenerCustomerActivity extends Activity。在 CustomerActivity 中,我计算了一些值。在 CustomerPreferences 中有一个我想要监控的特定 ListPreference。当用户输入 CustomerPreferences(这是通过 CustomerActivity 上的菜单选项完成的)并更改 ListPreference 时,然后点击后退按钮并返回到 CustomerActivity,我想根据新的首选项设置重新计算我的值。如果用户进入 CustomerPreferences 但没有更改 ListPreference 的值,我不想在返回到 CustomerActivity 时重新计算任何内容.

我该怎么做?

我认为我需要在 CustomerPreferences.onSharedPreferenceChanged 以及 CustomerPreferences.onBackPressed 中做一些事情,然后可能在 CustomerActivity 中处理一些事情>.

最佳答案

您可以在 CustomerActivity 的 onResume() 方法中处理更改。因此,在用户按回键后,在 onResume() 中,检查您的首选项并重新计算您的值,并根据计算值更改您的 GUI 表示。

当然,有时这是不必要的,因为用户可能没有更改任何内容。只要您的计算不太繁重,就不必担心。

您可以做的另一件事是在共享首选项中设置一个 boolean 值,例如 preferencesChanged,它将在 CustomerPreferences.onSharedPreferenceChanged 中设置为 true。然后检查 onResume() 中的 preferencesChanged。如果为真,请重新计算。否则什么都不做。

另一种选择是使用 startActivityForResult() 启动结果的首选项 Activity 。然后在 CustomerActivity 的 onActivityResult() 中进行重新计算。结果值将在 CustomerPreferences.onSharedPreferenceChanged 中设置

关于java - Android - 当偏好改变时在 Activity 中做一些事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7935298/

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