问题标签 [android-preferences]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1630 浏览

android - Android listpreference 和小部件背景

我为它创建了一个小部件 (HelloWidget.java)、一个活动 (MainActivity.java) 和一个列表首选项 (EditPreferences.java)。

XML 文件:

  • Main.xml:这有小部件
  • Config.xml:这有活动:按钮
  • 首选项.xml:这有列表首选项

我创建了首选项以让用户更改小部件的背景图像。我在 drawable-hdpi 文件夹中有 4 个图像文件。默认背景设置为 android:background="@drawable/goldgreenbg"

在 MainActivity.java 中,如果用户单击 listpreference 的第一个或第二个元素,我有此代码来设置背景图像:

不幸的是,这会导致更改活动,而不是小部件。所以现在我看到的是背景图像而不是活动中的按钮,而小部件没有改变。我试图把它放在 UpdateService.java 的 onCreate() 方法中,但它不能使用 setContentView()。有任何想法吗?

更新:main.xml:

已解决:“If”部分应该在preferences.java 文件中,并在linearlayout 中使用此代码:

0 投票
1 回答
28122 浏览

android - Android 共享偏好值的最大大小是多少?

我完全理解将大量数据转储到首选项中是完全不合适的,但我的要求不是那么好,但足够大(可能是 500-5000 字节),我不知道它是否合适。文档没有帮助。 http://developer.android.com/reference/android/content/SharedPreferences.Editor.html

我已经搜索了网络和 Stackoverflow,但找不到明确的答案:a)基于底层架构的实际限制是什么 b)基于性能的实际限制是什么(我发现甚至可以写很短的 pref 值可能需要几秒钟,但我怀疑这只是闪存写入延迟)

希望澄清。

0 投票
2 回答
8729 浏览

android - 如何在运行时获取铃声偏好?

我有以下 xml:

我希望每次通知即将显示时,查看铃声的值并相应地发出哔哔声:)...更准确地说,我的通知是在广播接收器类中生成的,并且每次接收器捕捉到它创建的东西时新通知...我只想根据首选项中设置的铃声更改通知的铃声。

我怎样才能做到这一点?

谢谢

麦克风

0 投票
2 回答
88127 浏览

android - 如何检测首选项中是否进行了更改?

我有一个扩展 PreferenceActivity 并显示我的应用程序的首选项屏幕的类。是否可以检查是否对偏好进行了任何更改?

这有助于...

http://developer.android.com/reference/android/content/SharedPreferences.OnSharedPreferenceChangeListener.html

其他相关帖子: SharedPreferences.onSharedPreferenceChangeListener 没有被一致调用


0 投票
4 回答
2374 浏览

android - Android:偏好默认值

我有 3 - 4 个活动。其中之一是主要活动,第二个是偏好屏幕。我有一个具有不同首选项的首选项屏幕,例如具有默认值的 ListPreference 等。

启动项目时如何激活默认设置值?

默认情况下,它们仅在我启动设置活动时激活。很快:我需要在主活动中使用默认值而不调用设置活动。

0 投票
3 回答
8975 浏览

android - 将侦听器添加到单个 ListPreference 项

我正在尝试将单个侦听器添加到 a 中的项目,ListPreference但我找不到正确的代码来执行此操作。

例如,假设我有一个需要设置区域的应用程序 。所以我有一个ListPreference三个选项;美洲、亚洲、欧洲。

当我使用触控板滚动浏览项目时,我希望他们在获得焦点时说出首选项的文本。

我确定在 API 的某个地方我可以为单个项目添加一个侦听器,但我就是找不到它。(inherited from ) 中有一个setOnPreferenceClickListener(..)方法,但这是在您选择实际的父首选项时使用的。ListPreferenceDialogPreference

我需要写一个特殊的子类吗?

编辑

在研究了更多之后,我认为我需要进一步澄清我的问题。使用首选项时,您可以覆盖onPreferenceTreeClick (PreferenceScreen prefScreen, Preference pref). PreferenceActivity这使您可以拦截对首选项的任何点击。但是我想在弹出的实际对话框中添加一个监听器。上例中的“美洲、亚洲、欧洲”选项。因此,如果我选择或单击亚洲,我可以拦截它。

所以我的(改进的)问题是如何为这些单独的选项添加一个监听器。

干杯

0 投票
1 回答
3393 浏览

android - 如何自定义首选项以通过 XML 显示时间选择器小部件

首先我想说我现在只在Android上工作了大约一个星期,所以我想你可以认为我是新手!因此,如果解决方案过于简单,我提前道歉,但我可以向您保证,我在发布之前已经完成了我的研究,并且还没有找到合适的解决方案(或者我可能已经并且没有完全意识到它!)。尽管如此,有很多乐趣,只是想解决这个问题并学习,所以这里......

应用程序

我正在开发的应用程序本质上是一个提醒服务,我目前正在使用首选项屏幕。

问题

我希望用户能够指定每天提醒他/她的时间。我希望通过首选项屏幕完成此选择。到目前为止,这就是我的首选项屏幕的外观...

我的偏好屏幕

我的问题

理想情况下,每当用户选择“闹钟时间”首选项时,我希望出现以下内容(这是来自另一个应用程序的首选项的屏幕截图 - PillReminder)。

时间选择器小部件的偏好(取自另一个应用程序 - “PillReminder”)

我的问题是,创建它的最佳方法是什么?我真的想只使用 XML来保留应用程序的所有视觉方面,因此我不想要 Java 解决方案。这是可能的还是我完全偏离了轨道?我听说过的其他潜在解决方案是使用主题、警报对话框和扩展偏好类等。也许其中一些是正确的,但我不确定。

任何帮助将不胜感激,谢谢!:)

0 投票
3 回答
4155 浏览

android - Android 在多个应用和活动之间共享数据(状态、值、配置)

您好我们正在开发一个涉及多个屏幕的复杂应用程序。我们决定将常用活动保存在单独的应用程序 apk (commonScreen apk) 中,以便我们自己以及其他使用意图的人使用这些活动。

现在,我们需要一种通用的方式来存储和共享主应用程序和 commonScreen apk 中的活动之间的数据。

我们考虑将数据存储在 Application 对象中(扩展 Application)但是,当我们调用 startActivityForResult(commonScreenApkIntent),onActivityResult 时,我们可以看到 Application 中存在的数据已经消失(null),请参阅不要在应用程序中存储全局数据以解决使用它们的问题。

当涉及大数据时,使用首选项存储和检索每个活动中的数据是否是一种好方法?

请注意:我们要存储的数据量更多,基本上是应用程序按钮状态(禁用/启用)、值和配置。它可能会达到 1000 个值。

您能建议一种共享数据的方法吗?

0 投票
1 回答
651 浏览

android - 偏好活动定制

我们可以自定义 PreferenceActivity 的布局屏幕吗?

0 投票
0 回答
1598 浏览

android - 在另一个 Activity 和布局中插入 Android Preferences-like

我正在设计一个搜索一堆项目的应用程序,我想知道是否有办法在 SlidingDrawer 中放置类似首选项的布局(类似于共享首选项),以便我可以过滤结果。我不介意它是否真的使用 Shared Preferences 系统(而且我发现它根本不可能),尽管它会是一个加号。所以,如前所述:

有没有办法在另一个布局中插入偏好布局?

我包括我的代码,以防万一。

提前致谢。