我的共享首選項有問題,它不起作用。Sharedpreference不保存
我一直在努力,現在很長時間了,我很沮喪,爲什麼這不起作用。
我試圖把加載方法放在Oncreate中,並且在Onresume方法中,它們都沒有工作。
我要救我的:
布爾值= stopValue,這應該是假的,我第一次使用的應用程序,並在未來它,應該從哪些已保存最後加載。當我在另一個類中使用按鈕時,布爾值發生變化,因此我有getIntent()。getBooleanExtra();
字符串,稱爲日期。
一個Int,啓動壓力計。
這些是要存儲的數據。
謝謝你的時間。
但這裏是我爲我的主類代碼:
public class Main extends Activity{
Button bStart, bStop;
TextView tvView;
Spinner spinner1;
boolean stopValue;
int startkilometer;
String date;
SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bStart = (Button) findViewById(R.id.bStart);
tvView = (TextView) findViewById(R.id.tvView);
spinner1 = (Spinner) findViewById(R.id.spinner1);
date = getIntent().getStringExtra("datoen");
startkilometer = getIntent().getIntExtra("startkm", startkilometer);
stopValue = getIntent().getBooleanExtra("stopper", stopValue);
if(stopValue == false){
bStart.setText("Start");
bStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent start = new Intent("com.uniqueapps.runner.START");
startActivity(start);
}
});
}
if(stopValue){
bStart.setText("Stop");
bStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent stop = new Intent("com.uniqueapps.runner.STOP");
stop.putExtra("startkm", startkilometer);
stop.putExtra("datoen", date);
startActivity(stop);
}
});
}
KilometerSQL info = new KilometerSQL(this);
info.open();
String data = info.getData();
info.close();
tvView.setText(data);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
prefs.getBoolean("stopper", false);
prefs.getInt("startkm", startkilometer);
prefs.getString("datoen", date);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
Editor edit = prefs.edit();
edit.putBoolean("stopper", stopValue);
edit.putInt("startkm", startkilometer);
edit.putString("datoen", date);
edit.commit();
super.onPause();
}
我不明白什麼[Rü試圖做什麼 – hasan83
我可以向你保證這不是你如何閱讀和對上sharedprefs。這是在應用程序邏輯中的東西。 – hasan83
即時通訊設法保存3個值,但它不起作用..它不會保存.. – Niller