sharedpreferences 不保存文本值

sharedpreferences is not saving the text value

**

我正在尝试使用 Sharedpreferences 保存文本变量。我通过这段代码保存了变量。但是当我点击按钮时,保存的变量将回到 0。我想从保存的值开始计数。请帮助我

**整数计数器=0;

public static final  String SHARED_PREF="shared";
public static final String TEXT="text";

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

    counterView=findViewById(R.id.counterid);
    Btn=findViewById(R.id.button1);

    Btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            counter++;
            counterView.setText(Integer.toString(counter));

            SharedPreferences sp = getSharedPreferences(SHARED_PREF, MODE_PRIVATE);
            SharedPreferences.Editor editor = sp.edit();
            editor.putString(TEXT,counterView.getText().toString());
            editor.commit();

        }

    });


    SharedPreferences sp = getSharedPreferences(SHARED_PREF, MODE_PRIVATE);
    String tValue = sp.getString(TEXT,"");
    counterView.setText(tValue);


}

}

考虑到您提供的信息,我认为您需要为 counter 提供存储在 SharedPreferences 中的值,以便在再次按下按钮时从那里继续计数。 试试这个:

 int counter = 0;
Button adBtn;
TextView counterView;
public static final  String SHARED_PREF="shared";
public static final String TEXT="text";

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

    counterView=findViewById(R.id.counterid);
    adBtn=findViewById(R.id.button1);

    adBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            SharedPreferences counterSp = getSharedPreferences(SHARED_PREF, MODE_PRIVATE);
            String correctCounterValue = counterSp.getString(TEXT,"");
            counter = Integer.valueOf(correctCounterValue);
            counter++;
            counterView.setText(Integer.toString(counter));

            SharedPreferences sp = getSharedPreferences(SHARED_PREF, MODE_PRIVATE);
            SharedPreferences.Editor editor = sp.edit();
            editor.putString(TEXT,counterView.getText().toString());
            editor.commit();

        }

    });


    SharedPreferences sp = getSharedPreferences(SHARED_PREF, MODE_PRIVATE);
    String tValue = sp.getString(TEXT,"");
    counterView.setText(tValue);


}