2011-07-14 95 views
18

我已經創建了一個活動,我已經使用共享首選項來存儲數據..現在在另一個活動中我有一個重置按鈕..當我單擊重置按鈕數據存儲將lost..so怎麼說也done..my代碼是在活動1如何使用共享首選項重置所有存儲的數據存儲

代碼:

Button pBtnReset = new Button(this); 
    pBtnNextMonth.setOnClickListener(pBtnReset OnClickListener); 
    Button.OnClickListener pBtnReset OnClickListenernew Button.OnClickListener() 
    { 
       public void onClick(View arg0) 
       { 


       } 
    }; 

所以我必須寫在:

public void writeToRegister() 
    { 

      // Write history data to register 
      SharedPreferences preferences1 = getPreferences(MODE_PRIVATE); 
      SharedPreferences.Editor editor1 = preferences1.edit(); 
      editor1.putInt("iHistcount", CycleManager.getSingletonObject().iHistCount); 
      for(int i=0;i< CycleManager.getSingletonObject().iHistCount;i++) 
      { 
       editor1.putLong("dtHistoryDate"+Integer.toString(i), CycleManager.getSingletonObject().dtHistory[i].getTime()); 

      } 
      editor1.commit(); 
    } 

    public void readFromRegister() 
    { 
      // Read history data from register 
      SharedPreferences preferences1 = getPreferences(MODE_PRIVATE); 
      CycleManager.getSingletonObject().iHistCount=preferences1.getInt("iHistcount", 0); 
      for(int i=0;i< CycleManager.getSingletonObject().iHistCount;i++) 
      { 
       Long x=preferences1.getLong("dtHistoryDate"+Integer.toString(i), 0L); 
       CycleManager.getSingletonObject().dtHistory[i]=new Date(x); 
      } 
    } 

爲活動2碼小號第二個活動重置按鈕,以便清除存儲的數據。

回答

48

讓您Editor並呼籲clear()是這樣的: 編輯:作爲用戶DDoSAttack mentio斯內德。 有越來越SharedPreferences

1的方式有兩種:越來越默認SharedPreferences

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(con); 

2:獲得特定SharedPreferences

SharedPreferences prefs = Context.getSharedPreferences("FileName", Context.MODE_PRIVATE); 

,這裏是您將如何清除它。

public void clear() 
{ 
    SharedPreferences prefs; // here you get your prefrences by either of two methods 
    Editor editor = prefs.edit(); 
    editor.clear(); 
    editor.commit(); 
} 
+0

沒有它不工作\ – AndroidDev

+0

看到我編輯的答案。 –

+0

@AdilSoomro什麼是變量con'getDefaultSharedPreferences(con);'?它是上下文嗎? – NPE

3

使用SharedPreferences.Editor clear()方法。

Documentation

SharedPreferences preferences = getPreferences(0); 
     SharedPreferences.Editor editor = preferences.edit(); 

     editor.clear(); 
     editor.commit(); 
+0

在我的代碼我怎樣才能把它 – AndroidDev

+0

把這個代碼,因爲它是在你的onClick方法。 – Marmoy

4

它很容易..

yourEditor.remove(" thing you want to remove on start"); 

然後再給必須

yourEditor.commit(); 
相關問題