【问题标题】:Save when back button is pressed按下后退按钮时保存
【发布时间】:2014-02-17 15:20:37
【问题描述】:

在我的 android 应用程序中,当按下后退按钮时,我希望应用程序保存。这是我的代码:

@Override
public void onBackPressed() {
    super.onBackPressed();
    Log.d("VIVZ", counter + "Was Saved");
}

所以当我按下后退按钮时它会退出应用程序,然后当我回到应用程序时它没有保存。

【问题讨论】:

  • 你没有可以保存任何东西的代码
  • 添加更多以识别问题
  • 你想在你定义计数器的地方按下后退按钮保存什么?

标签: java android button save


【解决方案1】:

按“返回”后,预计 Activity 将完成 - 它的实例状态丢失。你不会调用onSaveInstanceState() - 这是一种帮助保存活动实例状态的方法。

如果您想保存应用程序状态(如果您的计数器属于那里),使用SharedPreferences 可能是最简单的。即使在这种情况下,您也可以考虑将保存状态的代码放在onStop() 而不是onBackPressed()

【讨论】:

    【解决方案2】:

    试试这个

    @Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            //Do your saving code
        }
        return super.onKeyUp(keyCode, event);
    }
    

    【讨论】:

      【解决方案3】:

      尝试改用活动生命周期方法。

      @Override
      onPause(){
      
          //use some kind of SharedPreferences class or FileOutputStream
          //because onPause() is called when the activity is removed from the ui
      
      }
      

      【讨论】:

        猜你喜欢
        • 2012-08-23
        • 1970-01-01
        • 1970-01-01
        • 2011-01-28
        • 2021-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-22
        相关资源
        最近更新 更多