2 slaks SLaks 于 2013.04.02 17:50 提问

点击 reset 按钮时,数据存储就会丢失

我创建了一个 activity,使用 shared preferences 来存储数据。现在在另一个 activity 中有一个 reset按钮。当我点击 reset 按钮时,数据存储就会丢失。
activity 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);
            }
    }

Activity 2 代码:

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

                }
    };

如何设置才不会让数据存储不会丢失?

1个回答

LiDaming_and
LiDaming_and   2013.04.03 11:33

获取 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();
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Reset 重置按钮
Reset是什么?点击Reset后有些东西没有被重置,为什么?       reset() 方法可把表单中的元素重置为它们的默认值。       可能是js影响的
submit和reset按钮
 input onmouseover="this.style.backgroundColor=#ff0000" style="FONT-SIZE: 12px; WIDTH: 60px; COLOR: #e0e0e0; HEIGHT: 12px; BACKGROUND-COLOR: #006898; boder: 2 solid #3399FF" onmouseout="this.sty
input 标签中 reset 重置不能清空的原因
第一重情况: 点击重置,输入框会被清空 第二种情况: 输入框显示的内容为 abc 如果这时点击重置,不会被清空 如果将abc 修改为了 123 这时点击重置,输入框的内容将恢复为abc
Button疯狂点击崩溃问题
疯狂点击按钮经常会导致崩溃问题,这是因为在处理点击事件的时候还能接收点击事件 举个例子,以下代码,点击一次,会进入onClick,在执行onClick执行的时候又点击了一次,那么待会会再次触发一次onClick. public class ClickActivity extends ActionBarActivity { @Override protected void on
为什么刷新页面会触发最近执行过的一个按钮事件
<br />我在页面上添加了一个按钮btn,同时给这个按钮添加一个onclick事件,比如按一下按钮就添加一条数据到数据表中。<br />当我运行页面并按下按钮触发这个事件后,直接刷新一次页面,这个时候却发现,我没按按钮都会触发这个onclick事件。因为表中主键id是自动增量,所以这个事件触发后,会将一条实际上内容相同的数据插入到数据表中,产生了重复数据,其他事件也会发生这种情况。<br />请教一下各位,这是因为什么会这样?是按钮控件的特性还是其他原因?有没有方法可以解决?<br />在代码中,我只是写
单击按钮弹出对话框窗体
package Dialog; import java.awt.Color; import java.awt.Container; import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import ...
HTML:关于form表单的重置按钮
今天发现一个神奇的事情,查询之后,点击“重置按钮”,搜索框的输入项没有发生响应,后面才发现原来是因为我错误的认为reset 按钮单纯的将input等输入项中的值清空,但其实并非如此。       w3c上是这样说的:        在 HTML 表单中 标签每出现一次,一个 Reset 对象就会被创建。当重置按钮被点击,包含它的表单中所有输入元素的值都重置为它们的默认值。默认值由 HTML
HTML中的botton type="reset"标签失效(不起作用)的可能原因。
使用&amp;lt;html:reset&amp;gt;标签,有时候我们会发现reset按钮失效,点击该按钮并不能清空输入框。 原因在此: w3c网站有这样的描述(http://www.w3school.com.cn/htmldom/dom_obj_reset.asp) &quot;在 HTML 表单中 &amp;lt;input type=&quot;reset&quot;&amp;gt; 标签每出现一次,一个Reset对象就会被创建。当重置按钮被点击,包...
关于点击按钮后页面自动刷新的问题
button:不会自动刷新 image button 和submit会自动刷新 如果想使用图片按钮,但又不想点击按钮后页面自动刷新;那么就用button然后设置按钮的背景图 如果想使用图片按钮,且允许自动刷新页面可以用
关于git reset --hard导致文件丢失的血的教训
哎?以前这个文件是什么样的呢?返回上一版本看看吧,于是git reset --hard xxxxx便邪恶地运行了 好了,看完了,我该干活了,回我的最新版本吧 沃德天!!!!!!!!头皮怎么有点发麻?我的文件呢???把桌子翻遍了,都找不到我亲爱的文件的影子,我可是没有add,也没有commit啊,咋办? 于是,上网查呗,一溜达不要紧,都说完了,要重新写,更麻了! 偶然间看到了一个博文,抱着试