0

私の現在のアプリでは、一連のパスポイントを作成し、別のアクティビティからそれらを削除するオプションが必要です。私はstackoverflowでこれに似たいくつかの質問を見て、彼らの指示に従ってみると少し微妙なものは何も働いた。私のコードで何が間違っていますか?アンドロイドの共有設定を削除する

最初の活動:(私は削除しようとしている好みに活動)

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

    } 

} 

また、私は意図を使用することができることを知っています "余分な"方法ですが、私は削除しようとしているアクティビティを開始したくありません

答えて

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

あなたに最適なオプションは、それを更新して値を再度確認することです。

関連する問題