簡體   English   中英

帶碎片和后退按鈕的抽屜

[英]Drawer with Fragments & back Button

因此,我是Android開發的新手,並且一直在嘗試找出如何使用片段上的后退按鈕而不關閉應用程序,而是將其最終返回到第一個活動。 Google Inbox的確切工作方式,然后再按一次后退按鈕將關閉該應用程序。 我正在做的是下面的代碼

https://github.com/g60madman/AndroidFragmentNavigationDrawer/blob/master/app/src/main/java/com/chrisrisner/fragmentsample/MainActivity.java

在代碼中,它使用Google抽屜中的默認功能來關閉抽屜(如果抽屜已打開然后退出)。

@Override
public void onBackPressed() {
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    if (drawer.isDrawerOpen(GravityCompat.START)) {
        drawer.closeDrawer(GravityCompat.START);
    } else {
        super.onBackPressed();
    }
}

我已經遍歷整個流程進行了搜索,但是仍然缺少人們提供的建議,因為他們的代碼似乎不適用於此代碼。 任何幫助,將不勝感激。

在FragmentTransaction上,應使用方法

fragmentTransaction.addToBackStack(yourTag)

之前

。承諾()

這樣,當您單擊“后退”按鈕時,您將返回並不會關閉該應用程序。 文檔: https : //developer.android.com/reference/android/app/FragmentTransaction.html#addToBackStack(java.lang.String)

更新:第41121行

fragmentManager.beginTransaction()。replace(R.id.flContent,fragment).commit();

應該讀

fragmentManager.beginTransaction().replace(R.id.flContent,fragment) .addToBackStack(null) .commit();

希望能幫助到你

暫無
暫無

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

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