Не получается конвертировать Long в String
Пытаюсь сохранить время таймера обратного отсчёта, чтобы при выходе из приложения и при открытии его, скажем, через 3 часа, таймер показывал время с учётом этих 3 прошедших часов. Ошибка java.lang.classcastexception: java.lang.long cannot be cast to java.lang.String
Ошибка в этой строке:
chronometer.setText(save.getString(APP_PREFERENCES_CHRONOMETER, deadline1));
Код, вернее его часть, необходимая для понимания сути проблемы:
long duration = TimeUnit.HOURS.toMillis(24);
long endOfTask = System.currentTimeMillis() + duration;
void saveText () {
TextView chronometer = (TextView) findViewById(R.id.chronometer);
SharedPreferences save = StartGame.this.getSharedPreferences("save", MODE_PRIVATE);
SharedPreferences.Editor editor = save.edit();
editor.putLong(APP_PREFERENCES_CHRONOMETER, endOfTask);
editor.apply();
}
void loadText () {
TextView chronometer = (TextView) findViewById(R.id.chronometer);
SharedPreferences save = StartGame.this.getSharedPreferences("save", MODE_PRIVATE);
Long deadline = endOfTask - System.currentTimeMillis();
String deadline1 = Long.toString(deadline);
chronometer.setText(save.getString(APP_PREFERENCES_CHRONOMETER, deadline1));
}