Java SharedReferences未保存文本值 我正在尝试使用SharedReferences保存文本变量。我用这段代码保存了变量。但当我单击按钮时,保存的变量将返回0。我想从保存的值开始计数。请帮帮我
**int计数器=0Java SharedReferences未保存文本值 我正在尝试使用SharedReferences保存文本变量。我用这段代码保存了变量。但当我单击按钮时,保存的变量将返回0。我想从保存的值开始计数。请帮帮我,java,android,android-studio,sharedpreferences,Java,Android,Android Studio,Sharedpreferences,**int计数器=0 ** }考虑到您提供的信息,我认为您需要将存储在SharedReferences中的值提供给计数器,以便在再次按下按钮时继续计数。 试试这个: public static final String SHARED_PREF="shared"; public static final String TEXT="text"; @Override protected void onCreate(Bundle savedInstanceState) { super.on
**
}考虑到您提供的信息,我认为您需要将存储在SharedReferences中的值提供给计数器,以便在再次按下按钮时继续计数。 试试这个:
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);
}
尝试使用editor.apply;而不是承诺感谢你的帮助。但我已经试过了。它不起作用我想从保存的值开始计数。这是可能的,但我没有从任何地方得到任何解决方案,所以你想在关闭应用程序后保存计数器吗?因此,当应用程序重新启动时,使用相同的计数器,或者从0?开始,并且Btn应该是adBtn?
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);
}