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(); 
} 

最好的選擇是更新它並再次檢查它的值。