gpt4 book ai didi

android - 为什么我的 onSharedPreferenceChangeListener 在我更改首选项时被多次调用

转载 作者:搜寻专家 更新时间:2023-11-01 09:18:18 26 4
gpt4 key购买 nike

我编写了一个包含 3 个选项卡的应用程序。每个选项卡都有相同的 ListView ,但数据源不同。我在 tabhost Activity 中设置了 SharedPreferences,但我将我的 onSharedPreferenceChangeListener 方法放在我的列表 Activity 中。当我更改首选项时,我的监听器会被调用并更新我的数据库。这一切都在起作用。但是,如果我更改选项卡 1 中的数据,它会调用我的监听器一次。如果我更改选项卡 2 的数据,它会调用它两次,如果我更改选项卡 3 中的数据,它会调用它三次。知道为什么会这样吗?我想我可以在我的 listactivity 中设置我的共享首选项,这可能会避免这个问题,但我很好奇为什么我的监听器在不同的选项卡中被多次调用。

西兰花

最佳答案

您已将 unregisterOnSharedPreferenceChangeListener() 放在 onDestroy() 中,并且不会在所有 Activity 重新启动时调用它。

结论是正确的方法是将 registerOnSharedPreferenceChangeListener() 和 unregisterOnSharedPreferenceChangeListener() 分别放在 onResume() 和 onPause() 中。

关于android - 为什么我的 onSharedPreferenceChangeListener 在我更改首选项时被多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2945196/

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