/** * Searches for the given item and calculates its global position * * @param item the item which is searched for * @return the global position, or -1 if not found */ public int getPosition(Item item) { if (item.getIdentifier() == -1) { Log.e("FastAdapter", "You have to define an identifier for your item to retrieve the position via this method"); return -1; } return getPosition(item.getIdentifier()); }
for (Object subItem : ((IExpandable) parent).getSubItems()) { if (subItem instanceof IExpandable && ((IExpandable) subItem).isExpanded() && subItem != item) { expandedItemsList.add(mFastAdapter.getPosition((Item) subItem));
@Test public void getPosition() throws Exception { TestItem testItem = TestDataGenerator.genTestItem(1); itemAdapter.add(testItem); assertThat(adapter.getPosition(testItem)).isEqualTo(0); }
@Test public void getPosition() throws Exception { TestItem testItem = TestDataGenerator.genTestItem(1); itemAdapter.add(testItem); assertThat(adapter.getPosition(testItem)).isEqualTo(0); }
item = it.next(); pos = fastAdapter.getPosition(item); parentPos = fastAdapter.getPosition(parent); boolean success = ((IExpandable) parent).getSubItems().remove(item);
identifier = it.next(); pos = fastAdapter.getPosition(identifier); item = fastAdapter.getItem(pos); parentPos = fastAdapter.getPosition(parent); boolean success = ((IExpandable) parent).getSubItems().remove(item);
int position = adapter.getPosition(header); boolean expanded = header.isExpanded();
int position = adapter.getPosition(header); if (header.isExpanded()) { for (int i = 0; i < subItems; i++) {
/** * @param position the global position of the current item * @return a set with the global positions of all expanded items on the root level */ public int[] getExpandedItemsRootLevel(int position) { int[] expandedItems; ArraySet<Integer> expandedItemsList = new ArraySet<>(); Item item = mFastAdapter.getItem(position); for (int i = 0, size = mFastAdapter.getItemCount(); i < size; i++) { Item currItem = mFastAdapter.getItem(i); if (currItem instanceof ISubItem) { IItem parent = ((ISubItem) currItem).getParent(); if (parent instanceof IExpandable && ((IExpandable) parent).isExpanded()) { i += ((IExpandable) parent).getSubItems().size(); if (parent != item) expandedItemsList.add(mFastAdapter.getPosition((Item) parent)); } } } int expandedItemsListLength = expandedItemsList.size(); expandedItems = new int[expandedItemsListLength]; for (int i = 0; i < expandedItemsListLength; i++) { expandedItems[i] = expandedItemsList.valueAt(i); } return expandedItems; }