【问题标题】:How to access a SharedPreferences field?如何访问 SharedPreferences 字段?
【发布时间】:2012-06-04 13:47:50
【问题描述】:

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

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

如何访问此字段?

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

我需要知道这些偏好列表中的哪个值是“真实的”。我该怎么做?

这是我的代码:- 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);
}

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

【问题讨论】:

    标签: java android sharedpreferences android-context listpreference


    【解决方案1】:

    试试这样...

    SharedPreferences prefs;
    
    prefs = PreferenceManager.getDefaultSharedPreferences(this);
    
    username = prefs.getString("username","");
    
    password = prefs.getString("password","");
    

    【讨论】:

      猜你喜欢
      • 2019-06-24
      • 1970-01-01
      • 1970-01-01
      • 2021-02-23
      • 2012-05-31
      • 2012-04-29
      • 2013-08-25
      • 1970-01-01
      • 2019-12-27
      相关资源
      最近更新 更多