我是Android开发新手,最近我正在努力修复bug。应用程序不应加载先前的首选项,但它会加载它而不是加载默认值。
以下是我在主要活动中的内容
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
// register listener for SharedPreferences changes
PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(preferenceChangeListener);
QuizFragment quizFragment = (QuizFragment) getFragmentManager().findFragmentById(R.id.quizFragment);
quizFragment.updateGuessRows(PreferenceManager.getDefaultSharedPreferences(this));
quizFragment.updateRegions(PreferenceManager.getDefaultSharedPreferences(this));
quizFragment.updateNumberQuestions(PreferenceManager.getDefaultSharedPreferences(this));
答案 0 :(得分:0)
以这种方式尝试:
final String eulaKey = "mykey";
Context mContext = getApplicationContext();
mPrefs = mContext.getSharedPreferences("myAppPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = mPrefs.edit();
editor.putBoolean(eulaKey, true);
editor.commit();
在这种情况下,您可以指定自己的首选项文件名(myAppPrefs),并可以控制对它的访问权限。其他操作模式包括: MODE_WORLD_READABLE,MODE_WORLD_WRITEABLE,MODE_MULTI_PROCESS