【问题标题】: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
}