第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何保存用戶上次閱讀的頁碼

如何保存用戶上次閱讀的頁碼

森林海 2023-03-02 09:53:50
我正在構(gòu)建一個 android 應(yīng)用程序,它通過https://github.com/barteksc/AndroidPdfViewer顯示一個特定的 pdf,有很多頁面,現(xiàn)在我只是實現(xiàn)了一種從用戶最后打開的頁面重新打開 pdf 的方法.我正在使用 SharedPreferences 來存儲當(dāng)前頁面,然后在重新加載應(yīng)用程序后,應(yīng)用程序?qū)⒅匦麓蜷_用戶離開的 pdf。這是我用于存儲和檢索數(shù)據(jù)的共享首選項方法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@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    storepreferences();    getpreferences();同樣為了測試,我正在展示TextView txt = findViewById(R.id.textView2);txt.setText(String.valueOf(pageNumber));但是我仍然得到默認(rèn)值,誰能告訴我我做錯了什么?
查看完整描述

2 回答

?
眼眸繁星

TA貢獻(xiàn)1873條經(jīng)驗 獲得超9個贊

最后我實現(xiàn)了這一點,我之前在 OnCreate 上使用 (storepreferences) 但現(xiàn)在我在 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 上檢索保存的數(shù)據(jù)


@Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        getpreferences();

}

我使用上述技術(shù)是因為我認(rèn)為它實際上并沒有存儲我的數(shù)據(jù),因為當(dāng)我使用 Toast 顯示當(dāng)前頁面時,它準(zhǔn)確顯示了用戶所在的頁碼


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 中,我在單擊浮動按鈕后使用了上面的函數(shù)


FloatingActionButton fab4 = findViewById(R.id.fab4);

        fab4.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                pagestorebutton();

            }

        });

我的方法是通過正確的途徑實現(xiàn)我的目標(biāo),還是還有其他事情要做??


查看完整回答
反對 回復(fù) 2023-03-02
?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗 獲得超3個贊

在 StorePreference 中,首先,嘗試放置此代碼。

editor.commit()

進(jìn)而,

editor.apply().


查看完整回答
反對 回復(fù) 2023-03-02
  • 2 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號