mik*_*kez 3 static android sharedpreferences
我在一个活动中有两种方法
private void save(String tag, final boolean isChecked)
{
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(tag, isChecked);
editor.commit();
}
private boolean load(String tag) {
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
return sharedPreferences.getBoolean(tag, false);
}
Run Code Online (Sandbox Code Playgroud)
并且我不想使加载静态,以便从同一活动中的另一个静态方法中检索加载值.但是,当我尝试使load方法静态时,我当然会因为非静态引用而出错.我怎样才能做到这一点?
我尝试通过静态方法访问SharedPreferences而没有运气.
任何帮助将非常感激!
您可以保存并加载来自Application全局共享首选项而不是prefs private Activity:
private static boolean load(String tag) {
SharedPreferences sharedPreferences = Context.getApplicationContext().getSharedPreferences("namespace", Context.MODE_PRIVATE);
return sharedPreferences.getBoolean(tag, false);
}
Run Code Online (Sandbox Code Playgroud)
如果这样做,请确保您也以相同的方式存储首选项(通过使用Context.getApplicationContext().getSharedPreferences)
| 归档时间: |
|
| 查看次数: |
6213 次 |
| 最近记录: |