java - 如何访问 SharedPreferences 字段?

标签 java android sharedpreferences android-context listpreference

我正在尝试从 SAX 解析器类访问 Activity 中声明的 SharedPreferences 字段。

我尝试使用 getDefaultSharedPreferences(context),但无法找到上下文作为此方法的参数传递,因为 SAX 解析器不扩展 Activity。

如何访问该字段?

现在,假设我成功做到了这一点。我这里有第二个问题:我的 SharedPreferences 字段是在 Activity 中声明的(实际上是扩展 PreferenceActivity 的类)。在此 SharedPreferences 字段中,我可以存储两个复选框列表中的 boolean 值,代表两个多选首选项列表。

我需要知道这些偏好列表中的哪个值是“真实的”。我怎样才能做到这一点?

这是我的代码:- Pref.java

public class Pref extends PreferenceActivity implements OnSharedPreferenceChangeListener {
static SharedPreferences pref;

public void onCreate(Bundle saveInstanceState) {
    super.onCreate(saveInstanceState);

    pref = getPreferenceManager().getSharedPreferences();
    pref.registerOnSharedPreferenceChangeListener(this);

    int c = pref.getInt("numRun",0);
    c++;
    pref.edit().putInt("numRun",c).commit();
    addPreferencesFromResource(R.xml.prefs);
}

我想我首先需要访问首选项,但随后我有两个多选择首选项列表。如何从这些列表中获取值?

最佳答案

尝试这样...

SharedPreferences prefs;

prefs = PreferenceManager.getDefaultSharedPreferences(this);

username = prefs.getString("username","");

password = prefs.getString("password","");

关于java - 如何访问 SharedPreferences 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10882439/

相关文章:

java - Google 没有提供帮助 - 必须有 Java 运行时环境 (JRE) 或 Java 开发工具包 (JDK) 才能运行 Eclipse

android - 重新安装时未重置 SharedPreferences

java - Android 共享首选项未通过提交/应用/清除保存

在 Android Studio 中找不到 Java 类

android - 无法解析 'adb version' 的输出?

java - 无法从其他 Activity 访问 EncryptedSharedPreferences

java - 管理服务和应用程序之间的 Realm

java - Java 数组中的长度是如何实现的?

java - Spring 中的 404 错误(java config/no web.xml)

java - 如何使用 JsonTypeInfo 和反/序列化器来自定义处理多态子类型?