2013-09-30 3 views
0

У меня проблема с моими совместными сообщениями, она не работает.Sharedpreference не сохраняет

Я боролся с этим, очень долго, и я так расстроен, почему это не сработает.

Я попытался установить метод загрузки в Oncreate, а также в методе Onresume, ни один из них не работал.

Я хочу, чтобы спасти мою:

логическое значение = stopValue, это должно быть ложным в первый раз я использовать приложение, и в будущем он должен загрузить от того, что были сохранены в прошлом. Логическое значение изменяется, когда я использую кнопки в другом классе, поэтому у меня есть getIntent(). GetBooleanExtra();

Строка, называемая датой.

An Int, startkilometer.

Данные, которые необходимо сохранить.

Спасибо за ваше время.

Но вот мой код для моего главного класса:

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(); 
} 
+0

Я не могу понять, что Р о попытке сделать – hasan83

+0

то, что я могу вас заверить, что это не так, как вы читаете и право на sharedprefs. это что-то в логике приложения. – hasan83

+0

im пытается сохранить 3 значения, но это не сработает .. Это не спасет. – Niller

ответ

1

Попытка инициализировать переменные преф в каждом методе:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
Editor edit = prefs.edit(); 
    edit.putBoolean("stopper", stopValue); 
    edit.putInt("startkm", startkilometer); 
    edit.putString("datoen", date); 
    edit.commit(); 

следующих строки бесполезно. значения не приняты. как вы принимаете значения?

prefs.getBoolean("stopper", false); 
prefs.getInt("startkm", startkilometer); 
prefs.getString("datoen", date); 
+0

Это не работает ..;) – Niller

+0

Тот, кто помог мне с этим, сказал мне использовать это для погрузки вещей. Я спросил раньше в другом вопросе, потому что у меня была другая ошибка, и он сказал мне переписать все мои коды, каким-то образом я не понял, поэтому я закрыл глаза и последовал его командам. Является ли мой метод «загрузки» неправильным? – Niller

0

Попробуйте так:

PreferenceManager.getDefaultSharedPreferences(this) 
.edit() 
.putBoolean("stopper", stopValue) 
.putInt(etc) 
.commit() 
Смежные вопросы