/** * Add a drawerItem at a specific position * * @param drawerItem * @param position */ public void addItemAtPosition(@NonNull IDrawerItem drawerItem, int position) { mDrawerBuilder.getItemAdapter().add(position, drawerItem); }
/** * add new Items to the current DrawerItem List * * @param drawerItems */ public void addItems(@NonNull IDrawerItem... drawerItems) { mDrawerBuilder.getItemAdapter().add(drawerItems); }
/** * add new items to the current DrawerItem list at a specific position * * @param position * @param drawerItems */ public void addItemsAtPosition(int position, @NonNull IDrawerItem... drawerItems) { mDrawerBuilder.getItemAdapter().add(position, drawerItems); }
/** * Add a initial DrawerItem or a DrawerItem Array for the Drawer * * @param drawerItems * @return */ public DrawerBuilder addDrawerItems(@NonNull IDrawerItem... drawerItems) { this.getItemAdapter().add(drawerItems); return this; }
/** * Set a drawerItem at a specific position * * @param drawerItem * @param position */ public void setItemAtPosition(@NonNull IDrawerItem drawerItem, int position) { mDrawerBuilder.getItemAdapter().add(position, drawerItem); }
/** * Add a drawerItem at the end * * @param drawerItem */ public void addItem(@NonNull IDrawerItem drawerItem) { mDrawerBuilder.getItemAdapter().add(drawerItem); }
/** * notifies the fastAdapter about new / removed items within a sub hierarchy * NOTE this currently only works for sub items with only 1 level * * @param position the global position of the parent item * @param previousCount the previous count of sub items * @return the new count of subItems */ public int notifyAdapterSubItemsChanged(int position, int previousCount) { Item item = mFastAdapter.getItem(position); if (item != null && item instanceof IExpandable) { IExpandable expandable = (IExpandable) item; IAdapter adapter = mFastAdapter.getAdapter(position); if (adapter != null && adapter instanceof IItemAdapter) { ((IItemAdapter) adapter).removeRange(position + 1, previousCount); ((IItemAdapter) adapter).add(position + 1, expandable.getSubItems()); } return expandable.getSubItems().size(); } return 0; }
/** * method to replace a previous set header * * @param view * @param padding * @param divider * @param height */ public void setHeader(@NonNull View view, boolean padding, boolean divider, DimenHolder height) { mDrawerBuilder.getHeaderAdapter().clear(); if (padding) { mDrawerBuilder.getHeaderAdapter().add(new ContainerDrawerItem().withView(view).withDivider(divider).withHeight(height).withViewPosition(ContainerDrawerItem.Position.TOP)); } else { mDrawerBuilder.getHeaderAdapter().add(new ContainerDrawerItem().withView(view).withDivider(divider).withHeight(height).withViewPosition(ContainerDrawerItem.Position.NONE)); } //we need to set the padding so the header starts on top mDrawerBuilder.mRecyclerView.setPadding(mDrawerBuilder.mRecyclerView.getPaddingLeft(), 0, mDrawerBuilder.mRecyclerView.getPaddingRight(), mDrawerBuilder.mRecyclerView.getPaddingBottom()); }
drawer.getHeaderAdapter().add(new ContainerDrawerItem().withView(drawer.mHeaderView).withHeight(drawer.mHeiderHeight).withDivider(drawer.mHeaderDivider).withViewPosition(ContainerDrawerItem.Position.TOP)); } else { drawer.getHeaderAdapter().add(new ContainerDrawerItem().withView(drawer.mHeaderView).withHeight(drawer.mHeiderHeight).withDivider(drawer.mHeaderDivider).withViewPosition(ContainerDrawerItem.Position.NONE));
groupId = mMenuItem.getGroupId(); iDrawerItem = new DividerDrawerItem(); getItemAdapter().add(iDrawerItem); .withEnabled(mMenuItem.isEnabled()) .withSelectable(false); getItemAdapter().add(iDrawerItem); addMenuItems(mMenuItem.getSubMenu(), true); } else if (mMenuItem.getGroupId() != 0 || subMenu) { .withIdentifier(mMenuItem.getItemId()) .withEnabled(mMenuItem.isEnabled()); getItemAdapter().add(iDrawerItem); } else { iDrawerItem = new PrimaryDrawerItem() .withIdentifier(mMenuItem.getItemId()) .withEnabled(mMenuItem.isEnabled()); getItemAdapter().add(iDrawerItem);