0

在我当前的应用程序中,我制作了一组通行点,并希望有一个选项可以从不同的活动中删除它们。我在stackoverflow上看到了一些类似于这个问题的问题,并试图按照他们的指示修补一下,但没有任何工作。我的代码有什么问题?删除Android中的共享偏好设置

第一项活动:(随喜好我试图删除的活动)

public void setDefaults() { 
    SharedPreferences mPrefs = getSharedPreferences(RESETT_PASSPOINTS, 0); 
    SharedPreferences.Editor editor = mPrefs.edit(); 
    editor.putString(RESETT_PASSPOINTS,Identifier); 
    editor.commit(); 
} 

次活动:

public void deleteDefaults(){ 

    SharedPreferences mPrefs = getSharedPreferences(Activity1.RESETT_PASSPOINTS, 0); 
    String str = mPrefs.getString(Activity1.RESETT_PASSPOINTS, Activity1.Identifier); 
    if (str.equals(Activity1.Identifier)){ 
     SharedPreferences.Editor editor = mPrefs.edit(); 
     editor.clear(); 
     editor.commit(); 

    } 

} 

而且(我试图从删除的活动),我知道我可以使用intents“.put extra”方式做到这一点,但我不想开始我从

删除的活动

回答

0

尝试替换:

if (str.equals(Activity1.Identifier)){ 
     SharedPreferences.Editor editor = mPrefs.edit(); 
     editor.clear(); 
     editor.commit();  
    } 

对于这一点:

if (str.equals(Activity1.Identifier)){ 
     SharedPreferences.Editor editor = mPrefs.edit(); 
     editor.remove(Activity1.RESETT_PASSPOINTS).commit(); 
    } 

希望它能帮助!

0
public void updateDefaults(){ 
    SharedPreferences mPrefs = getSharedPreferences(RESETT_PASSPOINTS, 0); 
    SharedPreferences.Editor editor = mPrefs.edit(); 
    editor.putString(RESETT_PASSPOINTS,"OTHER_VALUE"); 
    editor.commit(); 
} 

最好的选择是更新它并再次检查它的值。