2013-11-13 2 views
0

Я пытаюсь сохранить String lolzor, но я не могу заставить его появляться после того, как приложение было уничтожено и перезапущено, я попробовал несколько решений, но не из них, похоже, Работа для меня может кто-нибудь помочь?SharedPreferences не сохраняются

заранее спасибо

Благодаря Эгейском я нашел решение. Проблема заключалась не в сохранении и не в получении информации, а в том, что когда я удалил сохраненную информацию, я ее не использовал.

код выглядит следующим образом:

public class MainActivity extends Activity { 

public static final String GEMFFS = "dk.SimonPedersen.GEMFFS"; 



SharedPreferences ada; 
SharedPreferences.Editor editor; 
Button btnGem; 
ToggleButton tbKon; 
EditText etVaegt; 
Double sex, vaegt, KT; 
String lols, lolzor, KTO; 
TextView haha; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ada = getSharedPreferences(GEMFFS, 0); 

    haha=(TextView)findViewById (R.id.haha); 
    btnGem = (Button) findViewById (R.id.btnGem); 
    tbKon = (ToggleButton) findViewById (R.id.tbKon); 
    etVaegt = (EditText) findViewById (R.id.etVaegt); 



    tbKon.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      if (isChecked) { 
       sex=0.7d; 
      } else { 
       sex=0.6d; 
      } 
      Log.d("Konskonstant", "sex" + sex); 
     } 
    }); 



    btnGem.setOnClickListener(new OnClickListener(){ 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 



      lols=etVaegt.getText().toString(); 
      vaegt=Double.parseDouble(lols); 
      KT = sex*vaegt; 
      lolzor=KT.toString(); 
      haha.setText("KT " + KT); 
     } 

}); 

} 
protected void onStart(){ 
    super.onStart(); 
    SharedPreferences settings = getApplicationContext().getSharedPreferences(GEMFFS, 0); 
    String KT = settings.getString("KT", null); 
} 
protected void onDestroy(){ 
    super.onDestroy(); 
    SharedPreferences settings = getApplicationContext().getSharedPreferences(GEMFFS, 0); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putString("KT", lolzor); 
    editor.commit(); 
}; 
} 

ответ

1

Изменить это:

protected void onStart(){ 
    super.onStart(); 
    SharedPreferences settings = getApplicationContext().getSharedPreferences(GEMFFS, 0); 
    String KT = settings.getString("KT", null); 
} 

Для этого:

protected void onStart(){ 
    super.onStart(); 
    SharedPreferences settings = getApplicationContext().getSharedPreferences(GEMFFS, 0); 
    KTO = settings.getString("KT", null); 
    KT = Double.valueOf(KTO); 

} 

Также установите это значение, где вы хотите (в любой TextView)

ПРИМЕЧАНИЕ: У вас нет проблем с сохранением и получением стоимости. Проблема только в том, что вы не используете его, когда получаете его.

Смежные вопросы