我正在尝试从 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,然后我有两个多选首选项列表。如何从这些列表中获取值?