簡體   English   中英

如何處理導航抽屜中的后退按鈕動作?

[英]how to handle back button action in navigation drawer?

我使用導航抽屜,當我選擇一個特定的片段時,我替換了當前片段,當我按下“后退”按鈕時,應用程序將退出,是否有任何方式可以移動上一個片段?

Feedback fragment = new Feedback();
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_home, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
getSupportFragmentManager().addOnBackStackChangedListener(
    new FragmentManager.OnBackStackChangedListener() {
        public void onBackStackChanged() {
            // Update your UI here.
        }
    });

也許有幫助嗎? 來源: http : //developer.android.com/training/implementing-navigation/temporal.html#back-fragments

是的,您已經將片段事務添加到后台堆棧,但是默認情況下,“后退”按鈕僅轉到任何先前的活動,而不是片段。

您需要重寫onBackPressed來指定要遍歷片段回棧,可以通過在活動中添加以下內容來做到這一點。 您檢查后堆棧中是否有任何東西,是否有“彈出”后堆棧的內容,如果后堆棧中沒有任何內容,則后退按鈕只是正常現象:

@Override
public void onBackPressed() {
if(getFragmentManager().getBackStackEntryCount() > 0) {
        getSupportManager().popBackStack();
    } else {
        super.onBackPressed();

    }
}

暫無
暫無

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

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