簡體   English   中英

在Android Studio中,關於onBackPressed()有一些錯誤

[英]In Android Studio, I have some error about onBackPressed()

我使用導航抽屜活動,並在主要活動中使用webview。

  1. 我進入了應用程序。

  2. 我從首頁開始進入第二頁。

  3. 當我按下“后退”按鈕時,App已關閉。

但我想轉到主頁。

但是當我從第三頁轉到第二頁時(通過按“后退”按鈕)它可以正確操作

(首頁<->第二頁<->第三頁)

主頁<->第二頁:錯誤

第二頁<->第三頁:沒有錯誤

我能做什么?

 @Override
public void onBackPressed() {
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    if (WebView01.canGoBack()) {
        if(drawer.isDrawerOpen(GravityCompat.START)==false) {
            WebView01.goBack();
        }
    }
    if (drawer.isDrawerOpen(GravityCompat.START)) {
        drawer.closeDrawer(GravityCompat.START);
    }

    if((WebView01.canGoBack()==false)&&(drawer.isDrawerOpen(GravityCompat.START)==false)){
        super.onBackPressed();
    }

}

我不確定你可以試試這個嗎

 @Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) getview().findViewById(R.id.drawer_layout);
    if (WebView01.canGoBack()) {
        if(drawer.isDrawerOpen(GravityCompat.START)==false) {
            WebView01.goBack();
        }
    }
    if (drawer.isDrawerOpen(GravityCompat.START)) {
        drawer.closeDrawer(GravityCompat.START);
    }

    if((WebView01.canGoBack()==false)&&(drawer.isDrawerOpen(GravityCompat.START)==false)){
        super.onBackPressed();
    }

}

通過更改if語句的順序可以解決此問題。 謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM