Используя! = Для сравнения вашей строки, вы сравниваете «экземпляр объекта», но «», и строка generalita - это не один и тот же объект, поэтому вы вводите в if и ставите «» в соответствии со своими предпочтениями, поэтому предпочтение не является нулевым, когдаВы регистрируете его, и значение по умолчанию не печатается.
вот что получается:
sharedPref = this.getSharedPreferences("il_sottoscritto",Context.MODE_PRIVATE);
degustatore = findViewById(R.id.degustatore);
completa = findViewById(R.id.completa);
completa.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
generalita = degustatore.getText().toString();
// generalita instance and "" intance are not equal so the trest will pass
if(generalita != ""){
SharedPreferences.Editor editor = sharedPref.edit();
// here you're putting "" to your preference
editor.putString("generalita", generalita);
editor.commit();
}
// sharedPref.getString("generalita", "vuoto") return ""
appoggio = sharedPref.getString("generalita", "vuoto");
Log.d("generalita", appoggio);
}
});
вы должны сделать это
completa.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
generalita = degustatore.getText().toString();
if(!generalita.equals("")){
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("generalita", generalita);
editor.commit();
}
appoggio = sharedPref.getString("generalita", "vuoto");
Log.d("generalita", appoggio);
}
});