簡體   English   中英

導航抽屜嵌套片段

[英]navigation drawer nested fragments

我已經嘗試了幾乎所有內容,但似乎沒有任何效果。 我有一個帶有這些片段的導航抽屜,例如:A-viewpager B-listview C-listview現在在B和C中,listview是可單擊的項目,每個項目都有自己的片段。 因此,ListViewA有一個片段,ListViewB有一個片段。 我想要正確的后退導航。 初始化導航抽屜時,這就是我的操作方式:

Fragment fragment = getHomeFragment();
                FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
                fragmentTransaction.setCustomAnimations(android.R.anim.fade_in,
                        android.R.anim.fade_out);
                fragmentTransaction.replace(R.id.frame, fragment, CURRENT_TAG);
                fragmentTransaction.commit();

當從列表視圖中選擇一個選項時:

final FragmentTransaction ft = getFragmentManager().beginTransaction();
                ft.setCustomAnimations(android.R.anim.fade_in,
                        android.R.anim.fade_out);
                ft.replace(R.id.frame, new FragmentB(),"HubSettings");
                ft.addToBackStack(null);
                ft.commit();

如果我在兩個事務中都添加了addtoBackStack(),則后向導航可以正常工作,但是導航抽屜標題設置不正確。 我想禁用后退按鈕並強制更改導航抽屜中的片段,以便正確設置操作欄標題。 當涉及CFragment時,如何禁用后退按鈕?

可以從以下菜單中進行選擇:導航抽屜-> B片段->列表視圖選項1片段按下 Back-> Back to B Fragment-> Disable Back Button

只需重寫onBackPressed中的onBackPressed ,其中包含如下片段:

@Override
public void onBackPressed() {

    int count = getSupportFragmentManager().getBackStackEntryCount();       

    if (count > 0) {
        getSupportFragmentManager().popBackStack();
        updateDrawerToggle();            
    }

}

暫無
暫無

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

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