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