2011-03-01 74 views
3

由於我是android開發新手。清除Android應用程序中共享pref的數據

用戶從我的應用程序點擊退出按鈕後,我想刪除我存儲在共享的首選項中的所有信息。

我用這個editor.clear()但它不會工作,

我想刪除這是由共享PREF用戶點擊後創建的註銷按鈕,我想刪除在運行時該文件的XML文件?

日Thnx任何幫助....

回答

11

您需要提交修改:

editor.clear(); 
editor.commit(); 

料斗中這種幫助

+0

我有嘗試這是行不通...... – Sumant 2011-03-01 13:26:57

+1

請編輯你原來的問題發佈您的代碼的相關部分。我們沒有魔術球:D – 2011-03-01 13:29:01

+0

editor = sharedPref.edit(); editor.clear(); \t \t \t \t \t \t //editor.remove(TwitterSession.TWEET_AUTH_KEY); \t //editor.remove(TwitterSession.TWEET_AUTH_SECRET_KEY); //mTwitter.resetAccessToken(); // \t accessToken = null; editor.commit(); \t TestPost.this.finish();所有上面的代碼是在clicklistener的註銷按鈕 – Sumant 2011-03-01 13:54:13

4

嘗試editor.clear();後跟一個editor.commit();


編輯:

下面是我用一個例子:

Preference clearPref = (Preference) findPreference("clearAll"); 
    clearPref.setOnPreferenceClickListener(new OnPreferenceClickListener() { 

    public boolean onPreferenceClick(Preference preference) { 
     SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getBaseContext());       
     SharedPreferences.Editor editor = settings.edit(); 
     editor.clear(); 
     editor.commit();     
     Toast.makeText(getBaseContext(), "All data cleared!", Toast.LENGTH_SHORT).show(); 

     return true; 
    } 

}); 
+0

下我已經嘗試過它不會工作... – Sumant 2011-03-01 13:27:43

+0

正如弗朗切斯科所說,請張貼您的代碼的具體部分 – Maaalte 2011-03-01 13:34:23

+0

editor = sharedPref.edit(); editor.clear(); \t \t \t // editor.remove(TwitterSession.TWEET_AUTH_KEY); // editor.remove(TwitterSession.TWEET_AUTH_SECRET_KEY); mTwitter.resetAccessToken(); accessToken = null; editor.commit(); \t TestPost.this.finish(); – Sumant 2011-03-01 13:52:34

相關問題