java在片段中获得共享首选项
我对Android fragment中的共享偏好有一些问题。在我的MainActivity onLoad中,我正在检查共享首选项,如果它是真的,那么我打开片段A
SharedPreferences prefs = getApplicationContext().getSharedPreferences("EULA_SHARED_PREFERENCE", MODE_PRIVATE);
boolean status = prefs.getBoolean("show_eula_key", false);
if(status == true){
EulaFragment eulaFragment = new EulaFragment();
eulaFragment.show(getSupportFragmentManager(), null);
}
在片段A中,在点击Accept按钮时,我将共享首选项更新为false:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("show_eula_key", false).commit();
dismiss();
然而,即使我选择了接受并重新启动了应用程序,当我重新启动应用程序时,它仍然会打开片段A。有什么想法吗
谢谢
# 1 楼答案
用这样的东西
# 2 楼答案
将第二个代码更改为
# 3 楼答案
您使用两个不同的文件:
及
你必须同时使用相同的方法。(提示:活动就是一个上下文)
# 4 楼答案
问题是,当您从eula_共享_首选项中获取show_eula_密钥并保存到默认首选项中时,您必须准确地保存首选项中的数据
# 5 楼答案
在片段A中