public int getVisibleChildCount(int groupPosition) { if (isGroupExpanded(groupPosition)) { return getChildCount(groupPosition); } else { return 0; } }
modToChildPosition = mPositionTranslator.getChildCount(modToGroupPosition); modToChildPosition = mPositionTranslator.getChildCount(modToGroupPosition); final int lastIndex = Math.max(0, mPositionTranslator.getChildCount(modToGroupPosition) - 1); modToChildPosition = Math.min(modToChildPosition, lastIndex);
modDropChildPosition = 0; } else { modDropChildPosition = mPositionTranslator.getChildCount(modDropGroupPosition); if (modDropGroupPosition > 0) { modDropGroupPosition -= 1; modDropChildPosition = mPositionTranslator.getChildCount(modDropGroupPosition); canDrop = true; } else {
/*package*/ boolean collapseGroup(int groupPosition, boolean fromUser, Object payload) { if (!mPositionTranslator.isGroupExpanded(groupPosition)) { return false; } // call hook method if (!mExpandableItemAdapter.onHookGroupCollapse(groupPosition, fromUser, payload)) { return false; } if (mPositionTranslator.collapseGroup(groupPosition)) { final long packedPosition = ExpandableAdapterHelper.getPackedPositionForGroup(groupPosition); final int flatPosition = mPositionTranslator.getFlatPosition(packedPosition); final int childCount = mPositionTranslator.getChildCount(groupPosition); notifyItemRangeRemoved(flatPosition + 1, childCount); } { final long packedPosition = ExpandableAdapterHelper.getPackedPositionForGroup(groupPosition); final int flatPosition = mPositionTranslator.getFlatPosition(packedPosition); notifyItemChanged(flatPosition, payload); } // raise onGroupCollapse() event if (mOnGroupCollapseListener != null) { mOnGroupCollapseListener.onGroupCollapse(groupPosition, fromUser, payload); } return true; }
/*package*/ boolean expandGroup(int groupPosition, boolean fromUser, Object payload) { if (mPositionTranslator.isGroupExpanded(groupPosition)) { return false; } // call hook method if (!mExpandableItemAdapter.onHookGroupExpand(groupPosition, fromUser, payload)) { return false; } if (mPositionTranslator.expandGroup(groupPosition)) { final long packedPosition = ExpandableAdapterHelper.getPackedPositionForGroup(groupPosition); final int flatPosition = mPositionTranslator.getFlatPosition(packedPosition); final int childCount = mPositionTranslator.getChildCount(groupPosition); notifyItemRangeInserted(flatPosition + 1, childCount); } { final long packedPosition = ExpandableAdapterHelper.getPackedPositionForGroup(groupPosition); final int flatPosition = mPositionTranslator.getFlatPosition(packedPosition); notifyItemChanged(flatPosition, payload); } // raise onGroupExpand() event if (mOnGroupExpandListener != null) { mOnGroupExpandListener.onGroupExpand(groupPosition, fromUser, payload); } return true; }