SharedPreferences продолжает получать значение по умолчанию

Я продолжаю получать значение по умолчанию, либо мой пользовательский интерфейс будет отображать ноль, либо, если я использую целые числа, он отображает это значение по умолчанию, а также здесь, в строковой форме.

//putting the information in shared preferences
TextView pScore1=(TextView)findViewById(R.id.pScore1f);


SharedPreferences peepsScores2= PreferenceManager.getDefaultSharedPreferences(GamePlayFirst.this);
SharedPreferences.Editor editor2 =peepsScores2.edit();
String userScore11 = pScore1.getText().toString();
  editor2.putString("userScore11",userScore11);
  editor2.commit();

  //getting it and editing it

  SharedPreferences peepsScores2 = PreferenceManager.getDefaultSharedPreferences(this);
    int u;
    int one =1;
    int newUsrScore1=1;
    String userScore11 = peepsScores2.getString("userScore11",null);
    u=Integer.parseInt(userScore11);
        newUsrScore1 = u+one;
        String newUserScore1  = Integer.toString(newUsrScore1);

    SharedPreferences.Editor editor = peepsScores2.edit();
    editor.putString(newUserScore1, NewUserScore1);
      editor.commit();

    //getting it and displaying it on the UI

    SharedPreferences peepsScores2 = PreferenceManager.getDefaultSharedPreferences(this);
    String userScore11 = peepsScores2.getString("NewuserScore1",null);


  pScore1.setText(" "+userScore11);
 Praful Bhatnagar31 окт. 2012 г., 13:30
Вы не вызываете коммит после его редактирования ..
 onemach31 окт. 2012 г., 13:29
попробуйте посмотреть на xml и посмотрите, успешен ли коммит.

Ответы на вопрос(3)

Решение Вопроса

//putting the information in shared preferences
TextView pScore1=(TextView)findViewById(R.id.pScore1f);


SharedPreferences peepsScores2= 

PreferenceManager.getDefaultSharedPreferences(GamePlayFirst.this);
SharedPreferences.Editor editor2 =peepsScores2.edit();
String userScore11 = pScore1.getText().toString();
  editor2.putString("userScore11",userScore11);
  editor2.commit();

  //getting it and editing it

  SharedPreferences peepsScores2 = PreferenceManager.getDefaultSharedPreferences(this);
    int u;
    int one =1;
    int newUsrScore1=1;
    String userScore11 = peepsScores2.getString("userScore11",null);
    u=Integer.parseInt(userScore11);
        newUsrScore1 = u+one;
        String newUserScore1  = Integer.toString(newUsrScore1);

    SharedPreferences.Editor editor = peepsScores2.edit();

     //@Praful: here newUserScore1 seems to be integer value and you are storing 
    //null here. I think it it should be 
    //`editor.putString("NewuserScore1", newUsrScore1);`
    editor.putString(newUserScore1, null);

     //@Praful: call commit here
    editor.commit;

    //getting it and displaying it on the UI

    SharedPreferences peepsScores2 = PreferenceManager.getDefaultSharedPreferences(this);
    String userScore11 = peepsScores2.getString("NewuserScore1",null);


  pScore1.setText(" "+userScore11);
 Andrew Irwin18 мая 2016 г., 12:04
этот ответ решил и мою аналогичную проблему, я забыл поместить в editor.commit (); после добавления что сработало !! :) Спасибо

когда вы работаете с SharedPreference, никогда не забывайте звонитьcommit() чтобы сохранить ваши изменения.

    SharedPreferences.Editor editor = peepsScores2.edit();
    editor.putString("NewuserScore1", newUserScore1);
    editor.commit();

editor.putString(newUserScore1, null);

должно быть

editor.putString("NewuserScore1",newUserScore1);

а также не забудьте зафиксировать свои изменения, используяeditor.commit();

 BRK31 окт. 2012 г., 13:45
нет, когда я копирую вставить, это работает, спасибо
 BRK31 окт. 2012 г., 13:38
коммит, я пропустил его на копе, и когда я изменил ноль на newUserScore1, он все еще говорит, что ноль в моем пользовательском интерфейсе
 BRK31 окт. 2012 г., 13:47
Капитолий N ха-ха, я худший из всех
 Anup Cowkur31 окт. 2012 г., 13:51
Рад, что смог помочь. Удачи!
 Anup Cowkur31 окт. 2012 г., 13:40
Вы использовали точный код, который я дал выше? Проверить снова

Ваш ответ на вопрос