Android 从片段调用syncState

Android 从片段调用syncState,android,android-fragments,navigation-drawer,Android,Android Fragments,Navigation Drawer,我正在尝试将导航抽屉添加到我的碎片列表中。 我用框架容器设置了自定义布局,一切都很好,但在应用程序图标附近并没有抽屉切换图标。 我认为问题在于我并没有在片段中重写onPostCreate,因为在一个简单的例子中,我在片段中并没有它。但在PostCreate中,我需要调用toggle.SyncState。 我怎样才能解决我的问题 下面是我的切换实现: mDrawerToggle = new ActionBarDrawerToggle(getActivity(), mDrawerLayout, R.

我正在尝试将导航抽屉添加到我的碎片列表中。 我用框架容器设置了自定义布局,一切都很好,但在应用程序图标附近并没有抽屉切换图标。 我认为问题在于我并没有在片段中重写onPostCreate,因为在一个简单的例子中,我在片段中并没有它。但在PostCreate中,我需要调用toggle.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);

只需在activitycreated方法中调用它。此方法在活动中的
onPostCreate
方法之前和
onCreate
方法之后的片段中调用

onActivityCreated(Bundle)告诉片段它的活动已经完成 已完成自己的活动。onCreate()

public class DrawerFragment extends Fragment {

    private ActionBarDrawerToggle drawerToggle;
    ...

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