Je crée un tracker de présence pour un camp d'été, où les conseillers peuvent saisir l'heure à laquelle leur campeur s'est connecté en tapant editText
et en appuyant sur le bouton de sauvegarde. Cette chaîne de base doit être enregistrée dans une zone de texte et chargée sur l'écran chaque fois que l'application est chargée. Il y a plusieurs cases comme celle-ci pour que les conseillers puissent savoir à quelle heure chaque étudiant est entré/sorti chaque jour.Préférences partagées apparaissant à l'écran
J'ai utilisé sharedPreferences
pour enregistrer l'entrée du conseiller lorsqu'un bouton est enfoncé, puis l'afficher en utilisant un autre bouton. Cependant, JE NE PEUX PAS OBTENIR LE TEXTE POUR APPARAITRE SUR L'ECRAN LORSQUE JE FERME ET REOUVRIR L'APP. Mon code manque-t-il quelque chose ??
public class AttendancePage extends AppCompatActivity {
EditText mondayMorn;
TextView displayMonMorn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_attendance_page);
String counsellorName = getIntent().getStringExtra("Senior Counsellor Name");
TextView tv = (TextView)findViewById(R.id.counsellorName);
tv.setText(counsellorName + "'s");
mondayMorn = (EditText) findViewById(R.id.editText37);
displayMonMorn = (TextView) findViewById(R.id.displayMonMorn);
}
public void saveInput (View view) {
SharedPreferences checkInMon = getSharedPreferences("LoginTime", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = checkInMon.edit();
editor.putString("mondayIn", mondayMorn.getText().toString());
editor.apply();
Toast.makeText(this, "Saved", Toast.LENGTH_LONG).show();
}
public void updateSettings (View view){
SharedPreferences checkInMon = getSharedPreferences("LoginTime", Context.MODE_PRIVATE);
String time = checkInMon.getString("mondayIn", "");
displayMonMorn.setText(time);
}
Essayez d'utiliser la méthode commit() pour enregistrer le fichier de préférences partagées. – Popeye
Où appelez-vous 'saveInput (...)'? Puisque vous n'utilisez évidemment pas la bibliothèque de liaison de données et qu'elle ne figure pas dans votre code, êtes-vous sûr que l'écouteur de clic est correctement défini? –
Vous avez raison, je ne l'ai pas réglé correctement. Encore une fois, comme je l'ai dit, mes informations sont sauvegardées dans sharedPreferences mais ne restent pas affichées une fois l'application fermée. – user8384402