我正在构建一个 Android 应用程序,它通过 https://github.com/barteksc/AndroidPdfViewer 显示特定的 pdf有很多页面,现在我只是实现一种从用户最后打开的页面重新打开 pdf 的方法。
我使用 SharedPreferences 来存储当前页面,然后在重新加载应用程序后,应用程序将重新打开用户离开的位置的 pdf。
这是我用于存储和检索数据的共享首选项方法
private void storepreferences () {
PDFView pdfView = findViewById(R.id.pdfView);
savedpage=pdfView.getCurrentPage();
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putInt("key_name2", savedpage);
editor.apply();
}
private void getpreferences () {
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE);
pageNumber = pref.getInt("key_name2", 0); // getting Integer
}
然后我使用 onCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
storepreferences();
getpreferences();
另外,为了进行测试,我正在显示
TextView txt = findViewById(R.id.textView2);
txt.setText(String.valueOf(pageNumber));
但是我仍然得到默认值,我做错了什么有人可以告诉我吗?
最佳答案
在 StorePreference 中,首先尝试放置此代码。
editor.commit()
然后,
editor.apply().
关于java - 如何保存用户上次阅读的页码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56848432/