我创建了一个活动,其中我使用共享首选项来存储数据..现在在另一个活动中我有一个重置按钮..当我点击重置按钮时,数据存储将丢失..那怎么可能是完成..我的代码是
活动1中的代码:
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的代码:
Button pBtnReset = new Button(this);
pBtnNextMonth.setOnClickListener(pBtnReset OnClickListener);
Button.OnClickListener pBtnReset OnClickListenernew Button.OnClickListener()
{
public void onClick(View arg0)
{
}
};
所以我必须在第二个活动重置按钮中写入,以便清除存储的数据
答案 0 :(得分:49)
获取Editor
并致电clear()
这样的话:
编辑:如用户DDoSAttack所述。
获取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();
}
答案 1 :(得分:4)
如果要清除偏好文件中的所有数据,请从clear()
实例
SharedPreferences.Editor
http://developer.android.com/reference/android/content/SharedPreferences.Editor.html#clear()
答案 2 :(得分:4)
非常容易..
yourEditor.remove(" thing you want to remove on start");
然后给必须
yourEditor.commit();
答案 3 :(得分:3)
使用SharedPreferences.Editor clear()
方法。
SharedPreferences preferences = getPreferences(0);
SharedPreferences.Editor editor = preferences.edit();
editor.clear();
editor.commit();