2014-02-24 65 views
0

我試圖將導航抽屜添加到我的FragmentList。 我使用框架容器設置自定義佈局,所有作品都很好,但應用程序圖標附近沒有抽屜切換圖標。 我認爲問題是我不重寫onPostCreate在我的片段,因爲,在一個簡單的,我沒有它在片段。但在PostCreate我需要調用toggle.SyncState。 我如何解決我的問題?從片段調用syncState

下面我撥動實現:

mDrawerToggle = new ActionBarDrawerToggle(getActivity(), mDrawerLayout, R.drawable.ic_drawer, 
      R.string.app_name, // nav drawer open - description for 
      // accessibility 
      R.string.hello_world // nav drawer close - description for 
    // accessibility 
    ) { 
     public void onDrawerClosed(View view) { 
      getActivity().getActionBar().setTitle("Assigned"); 
      // calling onPrepareOptionsMenu() to show action bar icons 
      getActivity().invalidateOptionsMenu(); 
     } 

     public void onDrawerOpened(View drawerView) { 
      getActivity().getActionBar().setTitle("Main"); 
      // calling onPrepareOptionsMenu() to hide action bar icons 
      getActivity().invalidateOptionsMenu(); 
     } 
    }; 
    mDrawerLayout.setDrawerListener(mDrawerToggle); 
    getActivity().getActionBar().setDisplayHomeAsUpEnabled(true); 
    getActivity().getActionBar().setHomeButtonEnabled(true); 
    getActivity().getActionBar().setDisplayShowHomeEnabled(true); 
    getActivity().getActionBar().setDisplayUseLogoEnabled(true); 
    getActivity().getActionBar().setDisplayShowTitleEnabled(true); 
    getActivity().getActionBar().setDisplayShowCustomEnabled(false); 

回答

1

簡單地調用它onActivityCreated方法。此方法在Activity中的​​之前和onCreate方法之後的片段中調用。

onActivityCreated(Bundle)告訴片段其活動已完成其自己的Activity.onCreate()。

public class DrawerFragment extends Fragment { 

    private ActionBarDrawerToggle drawerToggle; 
    ... 

    @Override 
    public void onActivityCreated(@Nullable Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 
     drawerToggle.syncState(); 
    } 
}