2015-06-18 59 views
0

我有一個活動A,一個ListFragment L和2個Fragments F1和F2。帶有子頁面和活動的NavigationDrawer

當應用程序啓動時,會創建一個,它加載基於L.什麼用戶點擊,它是由F1或F2

我實現了一個抽屜式導航,顯示某些項目給用戶更換。但是,由於我已經在活動中實施了導航抽屜,因此它顯示了所有碎片。但我想要顯示A是可見的

(非常類似於谷歌Gmail應用程序。當用戶在主屏幕上 - 抽屜存在。當用戶點擊打開電子郵件時,抽屜更改爲後退按鈕)

我不知道如何翻譯上面的代碼。在此先感謝

+0

其採用抽屜式切換,如果你禁用它partic ular片段,它將返回按鈕。 – Harry

+0

對不起,我不明白你在說什麼 –

+0

有功能disableToggle(),它不會顯示抽屜圖標和回顯圖標,但仍然可以從左側刷卡(也在Gmail中)打開抽屜。如果你想我會提供演示代碼。 – Harry

回答

0

在你內心的片段(比如查看郵件)

@Override 
public void onPause() 
{ 
super.onPause(); 
((MyActivity) getActivity()).enableToggle(); 
} 

@Override 
public void onResume() 
{ 
super.onResume(); 
((MyActivity) getActivity()).disableToggle(); 
} 

我希望會有「NavigationDrawerFragment'in您的活動,添加這個方法:

public void disableToggle() 
{ 
if (mNavigationDrawerFragment != null) 
    mNavigationDrawerFragment.disableToggle(); 
} 

public void enableToggle() 
{ 
if (mNavigationDrawerFragment != null) 
    mNavigationDrawerFragment.enableToggle(); 
} 

在NavigationDrawerFragment添加此方法: 另外檢查你是否使用android.support.v7.app.ActionBarDrawerToggle;

public void disableToggle() 
{ 
if (mDrawerToggle != null) 
    mDrawerToggle.setDrawerIndicatorEnabled(false); 
} 

public void enableToggle() 
{ 
if (mDrawerToggle != null) 
    mDrawerToggle.setDrawerIndicatorEnabled(true); 
} 

編輯:看到快照上面的代碼

MainFragment

2

DetailFragment

2

+0

不行不行 –

+0

你有沒有叫過getActionBar()。setHomeAsUpUnabled(true);?在MainActivity中的disableToggle()中調用它。 – Harry

+0

它不會回抽屜。我需要抽屜以及活動。 –