Наконец-то я достиг этого, раньше я использовал (storepreferences) в OnCreate, но теперь я использую в BackPressed
@Override
public void onBackPressed() {
DrawerLayout drawer = findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
storepreferences();
super.onBackPressed();
}
}
После этого я получаю сохраненные данные в OnCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getpreferences();
}
Я использую описанную выше технику, потому что я подумал, что она на самом деле не хранит мои данные, потому что когда я использую Toast для отображения текущей страницы, она показывала именно тот номер страницы, где пользователь
public void pagestorebutton (){
PDFView pdfView = findViewById(R.id.pdfView);
savedpage = pdfView.getCurrentPage();
Toast myToast = Toast.makeText(this,(String.valueOf(savedpage) ), Toast.LENGTH_SHORT);
myToast.show();
storepreferences();
}
Ив onCreate я использую вышеуказанную функцию после нажатия плавающей кнопки
FloatingActionButton fab4 = findViewById(R.id.fab4);
fab4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
pagestorebutton();
}
});
Мой метод достигает моей цели по правильному пути, или есть что-то еще, что нужно сделать ??