当前位置: 首页>>代码示例>>Java>>正文


Java IItem类代码示例

本文整理汇总了Java中com.mikepenz.fastadapter.IItem的典型用法代码示例。如果您正苦于以下问题:Java IItem类的具体用法?Java IItem怎么用?Java IItem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


IItem类属于com.mikepenz.fastadapter包,在下文中一共展示了IItem类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: handleStates

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
/**
 * internal method which correctly set the selected state and expandable state on the newly added items
 *
 * @param fastAdapter   the fastAdapter which manages everything
 * @param startPosition the position of the first item to handle
 * @param endPosition   the position of the last item to handle
 */
public static <Item extends IItem> void handleStates(FastAdapter<Item> fastAdapter, int startPosition, int endPosition) {
    for (int i = endPosition; i >= startPosition; i--) {
        Item updateItem = fastAdapter.getItem(i);
        if (updateItem != null) {
            if (updateItem.isSelected()) {
                fastAdapter.getSelections().add(i);
            } else if (fastAdapter.getSelections().contains(i)) {
                fastAdapter.getSelections().remove(i);
            }
            if (updateItem instanceof IExpandable) {
                if (((IExpandable) updateItem).isExpanded() && fastAdapter.getExpanded().indexOfKey(i) < 0) {
                    fastAdapter.expand(i);
                }
            }
        }
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:25,代码来源:AdapterUtil.java

示例2: restoreSubItemSelectionStatesForAlternativeStateManagement

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
/**
 * internal method to restore the selection state of subItems
 *
 * @param item          the parent item
 * @param selectedItems the list of selectedItems from the savedInstanceState
 */
public static <Item extends IItem> void restoreSubItemSelectionStatesForAlternativeStateManagement(Item item, List<String> selectedItems) {
    if (item instanceof IExpandable && !((IExpandable) item).isExpanded() && ((IExpandable) item).getSubItems() != null) {
        List<Item> subItems = (List<Item>) ((IExpandable<Item, ?>) item).getSubItems();
        Item subItem;
        String id;
        for (int i = 0, size = subItems.size(); i < size; i++) {
            subItem = subItems.get(i);
            id = String.valueOf(subItem.getIdentifier());
            if (selectedItems != null && selectedItems.contains(id)) {
                subItem.withSetSelected(true);
            }
            restoreSubItemSelectionStatesForAlternativeStateManagement(subItem, selectedItems);
        }
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:22,代码来源:AdapterUtil.java

示例3: findSubItemSelections

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
/**
 * internal method to find all selections from subItems and sub sub items so we can save those inside our savedInstanceState
 *
 * @param item       the parent item
 * @param selections the ArrayList which will be stored in the savedInstanceState
 */
public static <Item extends IItem> void findSubItemSelections(Item item, List<String> selections) {
    if (item instanceof IExpandable && !((IExpandable) item).isExpanded() && ((IExpandable) item).getSubItems() != null) {
        List<Item> subItems = (List<Item>) ((IExpandable<Item, ?>) item).getSubItems();
        Item subItem;
        String id;
        for (int i = 0, size = subItems.size(); i < size; i++) {
            subItem = subItems.get(i);
            id = String.valueOf(subItem.getIdentifier());
            if (subItem.isSelected()) {
                selections.add(id);
            }
            findSubItemSelections(subItem, selections);
        }
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:22,代码来源:AdapterUtil.java

示例4: onBindHeaderViewHolder

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
@Override
public void onBindHeaderViewHolder(RecyclerView.ViewHolder holder, int position) {
    TextView textView = (TextView) holder.itemView;

    IItem item = getItem(position);
    if (item instanceof SimpleItem && ((SimpleItem) item).header != null) {
        //based on the position we set the headers text
        textView.setText(String.valueOf(((SimpleItem) item).header.charAt(0)));
    } else if (item instanceof SimpleSubItem && ((SimpleSubItem) item).header != null) {
        //based on the position we set the headers text
        textView.setText(String.valueOf(((SimpleSubItem) item).header.charAt(0)));
    } else if (item instanceof SimpleSubExpandableItem && ((SimpleSubExpandableItem) item).header != null) {
        //based on the position we set the headers text
        textView.setText(String.valueOf(((SimpleSubExpandableItem) item).header.charAt(0)));
    }
    holder.itemView.setBackgroundColor(getRandomColor());
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:18,代码来源:StickyHeaderAdapter.java

示例5: onClick

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
/**
 * implements the basic behavior of a CAB and multi select behavior,
 * including logics if the clicked item is collapsible
 *
 * @param act  the current Activity
 * @param item the current item
 * @return null if nothing was done, or a boolean to inform if the event was consumed
 */
public Boolean onClick(AppCompatActivity act, IItem item) {
    //if we are current in CAB mode, and we remove the last selection, we want to finish the actionMode
    if (mActionMode != null && (mSupportSubItems ? SubItemUtil.getSelectedItems(mFastAdapter).size() == 1 : mFastAdapter.getSelections().size() == 1) && item.isSelected()) {
        mActionMode.finish();
        mFastAdapter.deselect();
        return true;
    }

    if (mActionMode != null) {
        // calculate the selection count for the action mode
        // because current selection is not reflecting the future state yet!
        int selected = mSupportSubItems ? SubItemUtil.getSelectedItems(mFastAdapter).size() : mFastAdapter.getSelections().size();
        if (item.isSelected())
            selected--;
        else if (item.isSelectable())
            selected++;
        checkActionMode(act, selected);
    }

    return null;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:30,代码来源:ActionModeHelper.java

示例6: updateViews

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
public boolean updateViews(final Integer id) {
        if (id != null) {
            if (mFastItemAdapter != null) {
                List<IItem> items = mFastItemAdapter.getAdapterItems();
                int index = Util.indexOf(items, item -> item instanceof ISettingsItem && ((ISettingsItem) item).getSettings().checkId(id));
                if (index != -1) {
                    mFastItemAdapter.notifyAdapterItemChanged(index);
                    return true;
                }
            }
        } else {
//            for (ISetting setting : mSettings)
//                setting.init(mViews.get(setting.getParentId()), settData, global, this, this, this);
        }
        return false;
    }
 
开发者ID:MFlisar,项目名称:RecyclerViewPreferences,代码行数:17,代码来源:SettingsFragment.java

示例7: getSettingItems

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
private static List<IItem> getSettingItems(boolean global, Object customSettingsObject, ISetup setup, ISettCallback settingsCallback, List<SettingsGroup> groups, Set<Integer> collapsedIds,
        boolean forceNoHeaders, Integer... settingGroupIds) {
    // Setup
    boolean addIfAnyParentIsInGroup = true;//setup.getSettingsStyle() != Setup.SettingsStyle.MultiLevelList;//global ? useViewPager : true;
    boolean addTopHeaders = settingGroupIds.length > 1;
    boolean showHeadersAsButtons = setup.getSettingsStyle() == Setup.SettingsStyle.MultiLevelList;
    AtomicInteger headerId = new AtomicInteger(-2);

    // Function
    List<IItem> items = new ArrayList<>();
    for (Integer settingGroupId : settingGroupIds) {
        items.addAll(getSettingItems(global, customSettingsObject, setup, settingsCallback, null, groups, settingGroupId, addIfAnyParentIsInGroup, addTopHeaders, showHeadersAsButtons, headerId,
                forceNoHeaders, collapsedIds));
    }
    return items;
}
 
开发者ID:MFlisar,项目名称:RecyclerViewPreferences,代码行数:17,代码来源:SettingsUtil.java

示例8: saveAllergies

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
@OnClick(R.id.accept_selection_button)
void saveAllergies() {
    acceptFab.setEnabled(false);
    Intent returnIntent = new Intent();
    final List<AbstractItem> selected = getSelected();
    ArrayList<AllergenGroupWrapper> vos = new ArrayList<>();
    for (IItem i : selected) {
        switch (i.getType()) {
            case R.id.fastadapter_allergen_group_sub_item:
                final AllergenGroupSubItem item = (AllergenGroupSubItem) i;
                vos.add(new AllergenGroupWrapper(item.getVo(), item.getParent().getTitle()));
                break;
            case R.id.fastadapter_allergen_item:
                final AllergenItem item1 = (AllergenItem) i;
                vos.add(new AllergenGroupWrapper(item1.getVo()));
                break;
            default:
                LogUtil.wtf(TAG, "Invalid item type in adapter: " + i);
                break;
        }

    }
    returnIntent.putParcelableArrayListExtra("result", vos);
    setResult(Activity.RESULT_OK, returnIntent);
    finish();
}
 
开发者ID:citiususc,项目名称:calendula,代码行数:27,代码来源:AllergiesSearchActivity.java

示例9: getAllItems

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
/**
 * Gets all items (including sub items) from the FastAdapter
 *
 * @param fastAdapter the FastAdapter
 * @return a list of all items including the whole subItem hirachy
 */
public static <Item extends IItem> List<Item> getAllItems(FastAdapter<Item> fastAdapter) {
    int size = fastAdapter.getItemCount();
    List<Item> items = new ArrayList<>(size);
    for (int i = 0; i < size; i++) {
        Item item = fastAdapter.getItem(i);
        items.add(item);
        addAllSubItems(item, items);
    }
    return items;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:17,代码来源:AdapterUtil.java

示例10: addAllSubItems

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
/**
 * Gets all subItems from a given parent item
 *
 * @param item  the parent from which we add all items
 * @param items the list in which we add the subItems
 */
public static <Item extends IItem> void addAllSubItems(Item item, List<Item> items) {
    if (item instanceof IExpandable && !((IExpandable) item).isExpanded() && ((IExpandable) item).getSubItems() != null) {
        List<Item> subItems = (List<Item>) ((IExpandable<Item, ?>) item).getSubItems();
        Item subItem;
        for (int i = 0, size = subItems.size(); i < size; i++) {
            subItem = subItems.get(i);
            items.add(subItem);
            addAllSubItems(subItem, items);
        }
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:18,代码来源:AdapterUtil.java

示例11: onActionItemClicked

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {

    // delete the selected items with the SubItemUtil to correctly handle sub items
    // this will even delete empty headers if you want to
    List<IItem> deleted = SubItemUtil.deleteSelected(fastItemAdapter, true, true);
    //as we no longer have a selection so the actionMode can be finished
    mode.finish();
    //we consume the event
    return true;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:12,代码来源:ExpandableMultiselectDeleteSampleActivity.java

示例12: getCharacterForElement

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
@Override
public Character getCharacterForElement(int position) {
    IItem item = getItem(position);
    if (item instanceof SimpleSubItem && ((SimpleSubItem) item).name != null) {
        //based on the position we set the headers text
        return ((SimpleSubItem) item).name.getText().charAt(0);
    }
    return ' ';
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:10,代码来源:FastScrollIndicatorAdapter.java

示例13: getCustomStringForElement

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
@Override
public String getCustomStringForElement(int position) {
    IItem item = getItem(position);
    if (item instanceof GenericIconItem && ((GenericIconItem) item).getModel().icon.getName() != null) {
        //based on the position we set the headers text
        return ((GenericIconItem) item).getModel().icon.getName();
    }
    return "";
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:10,代码来源:FastScrollIndicatorAdapter.java

示例14: getHeaderId

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
@Override
public long getHeaderId(int position) {
    IItem item = getItem(position);

    //in our sample we want a separate header per first letter of our items
    //this if is not necessary for your code, we only use it as this sticky header is reused for different item implementations
    if (item instanceof SimpleItem && ((SimpleItem) item).header != null) {
        return ((SimpleItem) item).header.charAt(0);
    } else if (item instanceof SimpleSubItem && ((SimpleSubItem) item).header != null) {
        return ((SimpleSubItem) item).header.charAt(0);
    } else if (item instanceof SimpleSubExpandableItem && ((SimpleSubExpandableItem) item).header != null) {
        return ((SimpleSubExpandableItem) item).header.charAt(0);
    }
    return -1;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:16,代码来源:StickyHeaderAdapter.java

示例15: selectRange

import com.mikepenz.fastadapter.IItem; //导入依赖的package包/类
/**
 * selects all items in a range, from and to indizes are inclusive
 *
 * @param from the from index
 * @param to the to index
 * @param select true, if the provided range should be selected, false otherwise
 * @param skipHeaders true, if you do not want to process headers, false otherwise
 */
public <T extends IItem & IExpandable> void selectRange(int from, int to, boolean select, boolean skipHeaders) {
    if (from > to) {
        int temp = from;
        from = to;
        to = temp;
    }

    IItem item;
    for (int i = from; i <= to; i++) {
        item = mFastAdapter.getAdapterItem(i);
        if (item.isSelectable()) {
            if (select) {
                mFastAdapter.select(i);
            } else {
                mFastAdapter.deselect(i);
            }
        }
        if (mSupportSubItems && !skipHeaders) {
            // if a group is collapsed, select all sub items
            if (item instanceof IExpandable && !((IExpandable)item).isExpanded()) {
                SubItemUtil.selectAllSubItems(mFastAdapter, (T) mFastAdapter.getAdapterItem(i), select, true, mPayload);
            }
        }
    }

    if (mActionModeHelper != null) {
        mActionModeHelper.checkActionMode(null); // works with null as well, as the ActionMode is active for sure!
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:38,代码来源:RangeSelectorHelper.java


注:本文中的com.mikepenz.fastadapter.IItem类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。