【问题标题】:Saving Activity State when back button is clicked单击后退按钮时保存活动状态
【发布时间】:2013-10-22 05:02:33
【问题描述】:

我正在创建一个带有统计信息的基本计数器,我试图在单击后退按钮时保存我的活动状态,以便用户可以从主菜单中查看统计信息。我可以使用

保存状态
@Override
public void onBackPressed() {
}

我基本上存储了一个从计数器显示中获取数字的共享首选项。我还有一个重置按钮,应该重置计数器。我试过使用editor.clear(); editor.commit();(什么都不做)和editor.remove("pref"); editor.commit();(当我点击重置时应用程序崩溃)。有没有其他方法可以清除共享首选项?

【问题讨论】:

  • 当应用崩溃时你在 logcat 中看到了什么?
  • 为什么不点击重置按钮时将计数器设置为 0 ??。 editor.putInt("count", 0);editor.commit();

标签: android button android-activity overriding back


【解决方案1】:

您是否尝试过 editor.apply() 代替 commit()。 apply() 在 API 级别 9 中可用,它会立即将更改提交到内存共享首选项中。所以,也许你可以试试这个。

【讨论】:

    【解决方案2】:

    有许多可能的方法可以清除您的共享 preff,它们是 1. 简单的方法是从您的设备上卸载您的应用程序。 2.另一种方法是用“”设置preff对象的值

    例子:

      mSharedPrefObjWritable= getSharedPreferences("nameofpref", MODE_WORLD_WRITEABLE);
                    SharedPreferences.Editor editor= mSharedPrefObjWritable.edit();
                    editor.putString("count", "");
                    editor.commit();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-25
      • 1970-01-01
      • 2014-04-14
      相关资源
      最近更新 更多