2012-08-30 57 views
1

我很明显在做错事。在我的闪屏,当它决定去,我有以下代码活动:在启动时加载SharedPreferences时出错

SharedPreferences getPrefs = PreferenceManager 
         .getDefaultSharedPreferences(getBaseContext()); 
       boolean disclamerChecked = getPrefs.getBoolean("disclamer", false); 
       boolean medicalScreeningChecked = getPrefs.getBoolean("screening", false); 

所以,我想读2布尔值,应该是假的应用程序的安装和 当设置为做到这一点应该是永久真实的。

现在,在我的活动(Disclamer只是在一瞬间)我有以下的事情:

private void setDisclamerPropertie() { 
    // TODO Auto-generated method stub 
    startupPrefs= getSharedPreferences("startupPrefs", MODE_WORLD_WRITEABLE); 
    SharedPreferences.Editor editor = startupPrefs.edit(); 
    editor.putBoolean("disclamer", true); 
    editor.commit(); 
    return; 
} 

调用此功能在上创建功能,当“接受”按钮,点击它应该保存共享偏好(或者至少这是我需要发生的事情)。

按钮的作品,它进入下一个活动和一个人去旁边一遍,但是当我重新加载应用程序,似乎布尔不会保存和应用再次为确认要求。

所以,在这里我错了,以书面的喜好,什么是正确的阅读喜好失踪?

回答

2

您从默认共享偏好阅读,但写入一个名为(“startupPrefs”),所以有2种独立的共享偏好

的情况下,
+0

哎哟...确实,我已经改变了从“sturtupPrefs”中读取的负载,现在就可以了。 TNX! – Balkyto

2

您正在使用不同的喜好。

startupPrefs= getSharedPreferences("startupPrefs", MODE_WORLD_WRITEABLE); 

这也应该是:

startupPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());