gpt4 book ai didi

android - 关于 Android PreferenceActivity 的一堆问题

转载 作者:行者123 更新时间:2023-11-29 02:13:22 25 4
gpt4 key购买 nike

我正在使用 PreferenceActivity 设置一些关于我拥有的另一个 BroadcastReciever 的首选项。

虽然使用 XML 文件制作首选项 GUI 的骨架非常简单,但我无法找到如何使用这些首选项实际执行某些操作的方法。特别是:

  1. 如何注册我的 BroadcastReciever 以收听我的偏好变化?看起来广播接收器的上下文与 Activity 不同,所以我没有注册到正确的 SharedPreferences 因为我没有拦截这些更改。

  2. 如何根据偏好更改在我的 PreferenceActivity 中执行操作?我想我不需要将 PreferenceActivity 注册为首选项的监听器,所以必须有更简单的方法。

  3. 如何根据首选项的变化更改 PreferenceActivity 的 UI?例如,将首选项的“摘要”属性设置为用户选择的值?

  4. 我如何启用或禁用某些依赖于其他首选项(如 CheckBoxPreference)的首选项?因此用户只有先启用该功能才能编辑这些首选项。

我查看了所有文档,但除了从 XML 添加首选项之外,没有使用 PreferenceActivity 的示例。

我觉得我在这里遗漏了一些巨大的东西,因为它看起来很简单,但我还是想不通......

请尝试回答我的任何问题。

顺便说一句:我正在为 Android 1.6 开发,所以所有新的 PreferenceFragment 都不能使用。

最佳答案

How do i register my BroadcastReciever to listen to changes in my preferences?

如果 BroadcastReceiver 已在 list 中注册,则您不会监听首选项中的更改,因为 BroadcastReceiver 只会存在几毫秒。只需在 onReceive() 期间读取最新值。

如果 BroadcastReceiver 被其他调用 registerReceiver() 的组件注册,该组件可以使用 SharedPreferences 注册一个 OnSharedPreferenceChangeListener 通过 PreferenceManagergetDefaultSharedPreferences() 检索。

Its look like that the context of the broadcast reciever is not the same as the activity so i'm not registering to the right SharedPreferences because i dont intercept those changes.

这句话没有意义。

How do i act in my PreferenceActivity upon changes in the preferences?

使用通过 PreferenceManagergetDefaultSharedPreferences() 检索到的 SharedPreferences 注册一个 OnSharedPreferenceChangeListener

How do i change the UI of the PreferenceActivity appropriate to the changes in the preferences?

通常,您不需要。欢迎您使用通过 PreferenceManagergetDefaultSharedPreferences() 检索到的 SharedPreferences 注册一个 OnSharedPreferenceChangeListener。从那里,您可以通过 findPreference() 从您的 PreferenceActivity 获取 Preference 并进行调整以适应。

How do i enable or disable some preferences that depends on another preference (like CheckBoxPreference)? so the user could edit those preferences only if he enabled the feature first.

根据需要将 android:dependency 添加到您的首选项 XML。

关于android - 关于 Android PreferenceActivity 的一堆问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5930507/

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