gpt4 book ai didi

android - 创建新的偏好并坚持下去?

转载 作者:行者123 更新时间:2023-11-29 00:45:50 24 4
gpt4 key购买 nike

我正在尝试在 PreferenceGroup 下创建一个新的 CheckBoxPreference 以显示标签。计划是使用如下代码添加标签:

  for(Tag t : tags) {
pref = new CheckBoxPreference(FoodhunterCredentials.this);
boolean isChecked = wasChecked(t.getName());

pref.setTitle(t.getName());
pref.setSummary(t.getDescription());
pref.setChecked(isChecked);
pref.setPersistent(true);

Log.d("Credentials", String.format("Adding checkbox %s -%schecked", t, isChecked ? " " : " not "));

tagsGroup.addPreference(pref);
}

但是在关闭 Activity 后,新的复选框消失了。有没有办法保留新创建的首选项?需要明确的是:这不是关于在定义的首选项中存储新值,而是关于存储新创建的首选项。

最佳答案

您可以使用 DB 来存储您所有的标签(这是更可取的)。

或者,如果您出于某种原因不想使用数据库,您可以通过以下方式使用 SharedPreferneces 进行破解:

  1. 创建名为“tags”的空字符串首选项(这在您的 PreferenceActivity 中不应该可见)。
  2. 当用户添加新标签时,您会将标签名称添加到“tags”字符串首选项并保存。

例如,您的“tags”字符串可能类似于“java;android;helper;europe”。您需要自己进行重复检查和解析。因为您需要在 onCreate() 方法中为每个标记自动填充您的 PreferenceScreen 和 CheckBoxPreference,但您已经知道该怎么做。


是的,在 API 级别 11 (Android 3.0) 和更高版本中,您可以在 SharedPrefernces 中使用字符串集。参见 getStringSetputStringSet了解更多详情。

关于android - 创建新的偏好并坚持下去?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6456941/

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