问题标签 [sharedpreferences]

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 投票
3 回答
50641 浏览

android - Android - 如何在代码中设置首选项

我有一个 Android 应用程序,其中我在 XML 文件中有我的偏好,它工作正常。我现在想使用代码设置其中一个首选项,而不是显示整个首选项屏幕,我该怎么做呢?

0 投票
1 回答
508 浏览

android - 如何在 Android 首选项屏幕中自动选择复选框?

在我的 android 应用程序中,我有一个带有一些复选框的首选项屏幕,定义在一个 xml 文件和一个实现.SharedPreferences.OnSharedPreferenceChangeListener

我想要做的是选择一个复选框以及要选择的所有其他复选框。在上面的监听器中,我可以将其他复选框的状态修改为选中,但我的视图保持不变。我应该/可以做些什么来实现这一目标?

0 投票
1 回答
2442 浏览

android - Read SharedPreferences when you haven't set the name of the file

When you createa a PreferenceScreen on Android, your application creates a default SharedPreferences file for the settings. I want to read this name, or get a reference without specifing the name.

Currently I use:

But this returns another copy of the preference. When I checked the folder in /data/data/myapk/shared_prefs

I see two files, one named prefs.xml and the other is my [package name]_preferences.xml (this was created by the PreferenceActivity);

How do I get an instance of the shared preference with the usage of the default file name, so I should not mention a name for it?

0 投票
2 回答
1099 浏览

android - 如何使首选项不保存到 SharedPreferences?

我将 ListPreference 重新用于仅存储在数据库中的设置。如何防止它将任何数据存储/保留到首选项文件?

0 投票
2 回答
3143 浏览

android - getSharedPreferences 不适用于我对 ListPreferences 和 Integers 的担忧

我被困在我试图让我的项目读取偏好值(来自 ListPreference 列表),然后在基本的数学减法实例中使用该值。问题是我的 Java 代码没有看到“seek”首选项,但默认值是(我尝试使用 3000 和现在 0 的默认值)。我错过了什么吗,这里有已知或未知的错误吗?

这是我的 Java 代码块,问题在其中表现出来:

以下是我的项目的其他一些代码位:

从首选项文件:

从字符串文件:

从数组文件:

如果您需要查看更多代码来解决这个问题,请告诉我

提前感谢您提供的任何帮助。我已经为这个问题工作了几个小时,我被烧死了,第二双眼睛会非常感激。

0 投票
6 回答
333093 浏览

java - 如何从 Android 中的 PreferenceActivity 获取 SharedPreferences?

我正在使用 PreferenceActivity 来显示我的应用程序的一些设置。我正在通过 xml 文件扩展设置,以便我的 onCreate(和完整的类方法)看起来像这样:

PreferenceActivity PreferenceFragment的 javadoc指出

当用户与之交互时,这些首选项将自动保存到 SharedPreferences。要检索此活动中的首选项层次结构将使用的 SharedPreferences 实例,请使用与此活动相同的包中的上下文调用 getDefaultSharedPreferences(android.content.Context)。

但是我如何在另一个 Activity 中获取 SharedPreference 的名称?我只能打电话

在其他活动中,但我需要 PreferenceActivity 使用的 SharedPreference 的名称。名称是什么或如何检索它?

0 投票
1 回答
1589 浏览

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

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

西兰花

0 投票
3 回答
48632 浏览

android - 如何获得在 Android 中工作的首选项?

我真的一直在为此苦苦挣扎。Java/Android 新手。我正在编写我的第一个应用程序,这是我花了几天时间才弄清楚的第一件事。这是设置:这是一个 BAC 计算器/饮料计数器:

替代文字

使用公式计算 BAC。这是论坛:

如您所见,能够修改性别和体重将产生更准确和个性化的结果。所以我将它们作为双打:

要更改这些变量,我希望该人能够进入设置并选择不同的值。我已经设置了这些东西,但没有链接到上面显示的变量,因为我一生都无法弄清楚如何。他们来了:

替代文字

我按下菜单按钮,这会弹出。伟大的。我将单击设置。

替代文字

现在首选项弹出。这是我的preferences.xml:

继续权重 ListPreference:

替代文字

这出现了。这些值作为字符串数组存储在 res/values/arrays.xml 中。这是一个样本,只是重量的样本:

这基本上是我所得到的。当然,我可以单击一个值,但它不会更改公式,因为它与我在 DrinkingBuddy.java 中创建的双打没有关联。设置中显示的所有内容现在都只是空壳,包括主布局上的微调器(默认时间仅设置为 1 小时)

我确实创建了一个 Preferences.java 并尝试实现在网络上的教程和资源中找到的各种代码组合,但无济于事。无论如何,这里充满了使 beerPref (更改啤酒中有多少盎司的设置选项)与我的主类中的变量相关的失败尝试:

完整的教程和示例代码会很棒,因为我还没有找到任何可靠的指南。

0 投票
4 回答
2333 浏览

android - Android ==> 偏好?

我的应用程序因以下代码中的空指针异常而崩溃。我在 res/xml/defaults.xml 下有一个 xml 首选项文件知道它为什么会崩溃吗?

0 投票
2 回答
5175 浏览

java - 使用 SharedPreferences 获取 java.lang.nullPointerException

我正在尝试保存文件解析的日期,以便下次用户打开应用程序时,可以根据上次解析日期检查日期。

我正在使用共享首选项来保存数据并检索它,但出现错误。这是代码:

但是我收到空指针错误,我错过了什么吗?