Android 保存我的进度条的当前状态
我正在尝试将该值保存在ProgressBar中,因此如果我关闭应用程序(终止它)并再次运行它,则会再次显示相同的值。我使用SharedReferences尝试了这个方法,但仍然无法保存,我不知道如何解决它。我在互联网上查找了所有我能找到的东西,但它总是非常简单,比如“如何将entertext保存为txt/xml”,但这不是我想要的Android 保存我的进度条的当前状态,android,sharedpreferences,Android,Sharedpreferences,我正在尝试将该值保存在ProgressBar中,因此如果我关闭应用程序(终止它)并再次运行它,则会再次显示相同的值。我使用SharedReferences尝试了这个方法,但仍然无法保存,我不知道如何解决它。我在互联网上查找了所有我能找到的东西,但它总是非常简单,比如“如何将entertext保存为txt/xml”,但这不是我想要的 protected void onPause(){ super.onPause(); fuelBar = (ProgressBar) findView
protected void onPause(){
super.onPause();
fuelBar = (ProgressBar) findViewById(R.id.fuelProgressBar);
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
incFuel = sharedPref.getInt(FUELBAR, fuelBar.getProgress());
fuelBar.setProgress(incFuel);
}
public void onResume(){
super.onResume();
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(FUELBAR, fuelBar.getProgress());
editor.commit();
}
public void onStop(){
super.onStop();
fuelBar = (ProgressBar) findViewById(R.id.fuelProgressBar);
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
incFuel = sharedPref.getInt(FUELBAR, fuelBar.getProgress());
fuelBar.setProgress(incFuel);
}
在onCreate中,我还声明了这些变量
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
在我的主要活动中
int incFuel = 0;
final String FUELBAR = "fuelBar";
SharedPreferences sharedPref;
SharedPreferences.Editor editor;
我真的一点也不知道我遗漏了什么,非常感谢您的帮助。我可以看到一些问题
onStop()
,因为onPause
和onResume
就足够了onPause
和onResume
处于相反状态。(活动加载后调用onResume,活动关闭时调用onPause)protected void onPause(){
super.onPause();
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(FUELBAR, fuelBar.getProgress());
editor.commit();
}
public void onResume(){
super.onResume();
fuelBar = (ProgressBar) findViewById(R.id.fuelProgressBar);
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
incFuel = sharedPref.getInt(FUELBAR, 0);
fuelBar.setProgress(incFuel);
}
public void onStop(){
super.onStop();
}
我只能看到对SharedReference对象的put调用。你是否调用过“get”?我编辑了代码,请再看一次。gr8 thx的解释它真的很有帮助,程序现在运行得很好。