我创建了一个活动,其中我使用共享首选项来存储数据..现在在另一个活动中我有一个重置按钮..当我点击重置按钮时,数据存储将丢失..所以如何做到这一点..我的代码是
activity1中的代码:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
活动2的代码:
Button pBtnReset = new Button(this);
pBtnNextMonth.setOnClickListener(pBtnReset OnClickListener);
Button.OnClickListener pBtnReset OnClickListenernew Button.OnClickListener()
{
public void onClick(View arg0)
{
}
};
Run Code Online (Sandbox Code Playgroud)
所以我必须在第二个活动重置按钮中写入,以便清除存储的数据
Adi*_*mro 49
得到你的Editor
并打电话给clear()
这样的事:
编辑:正如用户DDoSAttack所提到的那样.有两种获得方式SharedPreferences
1:获得默认 SharedPreferences
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(con);
Run Code Online (Sandbox Code Playgroud)
2:具体化 SharedPreferences
SharedPreferences prefs = Context.getSharedPreferences("FileName", Context.MODE_PRIVATE);
Run Code Online (Sandbox Code Playgroud)
以下是你将如何清除它.
public void clear()
{
SharedPreferences prefs; // here you get your prefrences by either of two methods
Editor editor = prefs.edit();
editor.clear();
editor.commit();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
33246 次 |
最近记录: |