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


Java AbstractItem类代码示例

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


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

示例1: saveAllergies

import com.mikepenz.fastadapter.items.AbstractItem; //导入依赖的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

示例2: getSelected

import com.mikepenz.fastadapter.items.AbstractItem; //导入依赖的package包/类
private List<AbstractItem> getSelected() {
    final List<AbstractItem> items = new ArrayList<>();
    for (AbstractItem item : searchAdapter.getAdapterItems()) {
        switch (item.getType()) {
            case R.id.fastadapter_allergen_item:
                if (item.isSelected()) {
                    items.add(item);
                }
                break;
            case R.id.fastadapter_allergen_group_item:
                final List<AllergenGroupSubItem> subItems = ((AllergenGroupItem) item).getSubItems();
                for (AllergenGroupSubItem subItem : subItems) {
                    if (subItem.isSelected())
                        items.add(subItem);
                }
                break;
        }
    }

    LogUtil.d(TAG, "getSelected() returned: " + items.size() + " elements");
    return items;
}
 
开发者ID:citiususc,项目名称:calendula,代码行数:23,代码来源:AllergiesSearchActivity.java

示例3: getTitle

import com.mikepenz.fastadapter.items.AbstractItem; //导入依赖的package包/类
private String getTitle(AbstractItem i) {
    switch (i.getType()) {
        case R.id.fastadapter_allergen_group_item:
            return ((AllergenGroupItem) i).getTitle();
        case R.id.fastadapter_allergen_group_sub_item:
            return ((AllergenGroupSubItem) i).getTitle();
        case R.id.fastadapter_allergen_item:
            return ((AllergenItem) i).getTitle();
        case R.id.fastadapter_allergy_group_item:
            return ((AllergyGroupItem) i).getTitle();
        case R.id.fastadapter_allergy_group_sub_item:
            return ((AllergyGroupSubItem) i).getTitle();
        case R.id.fastadapter_allergy_item:
            return ((AllergyItem) i).getTitle();
        default:
            throw new RuntimeException("Unsupported item type");
    }
}
 
开发者ID:citiususc,项目名称:calendula,代码行数:19,代码来源:AllergiesSearchActivity.java

示例4: equals

import com.mikepenz.fastadapter.items.AbstractItem; //导入依赖的package包/类
/**
 * If this item equals to the given object
 *
 * @param o
 * @return
 */
@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    AbstractItem<?, ?> that = (AbstractItem<?, ?>) o;
    return mIdentifier == that.getIdentifier();
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:14,代码来源:RealmSampleUserItem.java

示例5: onPostExecute

import com.mikepenz.fastadapter.items.AbstractItem; //导入依赖的package包/类
@Override
protected void onPostExecute(List<AbstractItem> items) {
    allergiesAdapter.add(items);
    progressBar.setVisibility(View.GONE);
    checkPlaceholder();
    hideAllergiesView(false);
}
 
开发者ID:citiususc,项目名称:calendula,代码行数:8,代码来源:AllergiesActivity.java

示例6: onPostExecute

import com.mikepenz.fastadapter.items.AbstractItem; //导入依赖的package包/类
@Override
protected void onPostExecute(List<AbstractItem> abstractItems) {
    searchAdapter.add(abstractItems);
    progressBar.setVisibility(View.GONE);
    checkSearchPlaceholder();
    searchTask = null;
}
 
开发者ID:citiususc,项目名称:calendula,代码行数:8,代码来源:AllergiesSearchActivity.java

示例7: compare

import com.mikepenz.fastadapter.items.AbstractItem; //导入依赖的package包/类
@Override
public int compare(AbstractItem o1, AbstractItem o2) {
    final String f = filter.toLowerCase();
    final String t1 = getTitle(o1).toLowerCase().trim();
    boolean c1 = t1.contains(f);
    final String t2 = getTitle(o2).toLowerCase().trim();
    boolean c2 = t2.toLowerCase().trim().contains(f);

    if (c1 && !c2) {
        return -1;
    } else if (c2 && !c1) {
        return 1;
    } else if (c1) { //if c1 is true, c2 is true at this point too
        int i1 = t1.toLowerCase().trim().indexOf(filter.toLowerCase());
        int i2 = t2.toLowerCase().trim().indexOf(filter.toLowerCase());
        if (i1 == i2) {
            //if the index is the same, prioritize groups
            final int ty1 = o1.getType();
            final int ty2 = o2.getType();
            final int gid = R.id.fastadapter_allergen_group_item;
            if (ty1 == gid && ty2 != gid) {
                return -1;
            } else if (ty1 != gid && ty2 == gid) {
                return 1;
            } else {
                return t1.compareTo(t2);
            }
        } else {
            return i1 < i2 ? -1 : 1;
        }
    } else {
        return t1.compareTo(t2);
    }
}
 
开发者ID:citiususc,项目名称:calendula,代码行数:35,代码来源:AllergiesSearchActivity.java

示例8: onClick

import com.mikepenz.fastadapter.items.AbstractItem; //导入依赖的package包/类
@Override
public void onClick(View view, int i, FastAdapter<AbstractItem> fastAdapter, AbstractItem item) {
    IExpandable it = (IExpandable) item;
    if (it.isExpanded()) {
        fastAdapter.collapse(i);
        ViewCompat.animate(view).rotation(0);
    } else {
        fastAdapter.expand(i);
        ViewCompat.animate(view).rotation(180);
    }
}
 
开发者ID:citiususc,项目名称:calendula,代码行数:12,代码来源:AllergenGroupItem.java

示例9: setupAllergiesList

import com.mikepenz.fastadapter.items.AbstractItem; //导入依赖的package包/类
private void setupAllergiesList() {
    LinearLayoutManager llm = new LinearLayoutManager(this);
    llm.setOrientation(LinearLayoutManager.VERTICAL);
    allergiesRecycler.setLayoutManager(llm);
    allergiesAdapter = new FastItemAdapter<>();
    allergiesAdapter.withSelectable(false);
    allergiesAdapter.withItemEvent(new ClickEventHook<AbstractItem>() {

        @Override
        public void onClick(View view, int i, FastAdapter fastAdapter, AbstractItem item) {
            LogUtil.d(TAG, "onClick() called with: view = [" + view + ", i = [" + i + "], fastAdapter = [" + fastAdapter + "], item = [" + item + "]");
            switch (view.getId()) {
                case R.id.delete_button:
                    // check if group or item
                    switch (item.getType()) {
                        case R.id.fastadapter_allergy_group_item:
                            showDeleteConfirmationDialog((AllergyGroupItem) item);
                            break;
                        case R.id.fastadapter_allergy_item:
                            showDeleteConfirmationDialog((AllergyItem) item);
                            break;
                        default:
                            LogUtil.w(TAG, "onClick: Unexpected item type: " + item);
                            break;
                    }
                    break;
                case R.id.group_button:
                    AllergyGroupItem g = (AllergyGroupItem) item;
                    boolean expand = !g.isExpanded();
                    float angle = expand ? 180 : 0;
                    ViewCompat.animate(view).rotation(angle);
                    if (expand)
                        allergiesAdapter.expand(i);
                    else
                        allergiesAdapter.collapse(i);
                    break;
                default:
                    LogUtil.w(TAG, "onClick: Unexpected view type on click hook: " + view);
                    break;
            }
        }

        @Nullable
        @Override
        public List<View> onBindMany(@NonNull RecyclerView.ViewHolder viewHolder) {
            List<View> vl = new ArrayList<>();
            if (viewHolder instanceof AllergyGroupItem.ViewHolder) {
                AllergyGroupItem.ViewHolder vh = (AllergyGroupItem.ViewHolder) viewHolder;
                vl.add(vh.deleteButton);
                vl.add(vh.dropButton);
                return vl;
            } else if (viewHolder instanceof AllergyItem.ViewHolder) {
                vl.add(((AllergyItem.ViewHolder) viewHolder).deleteButton);
                return vl;
            }
            return null;
        }
    });
    allergiesRecycler.setAdapter(allergiesAdapter);
}
 
开发者ID:citiususc,项目名称:calendula,代码行数:61,代码来源:AllergiesActivity.java

示例10: doInBackground

import com.mikepenz.fastadapter.items.AbstractItem; //导入依赖的package包/类
@Override
protected List<AbstractItem> doInBackground(Void... params) {
    store.load(AllergiesActivity.this);
    return getAllergyItems();
}
 
开发者ID:citiususc,项目名称:calendula,代码行数:6,代码来源:AllergiesActivity.java

示例11: Result

import com.mikepenz.fastadapter.items.AbstractItem; //导入依赖的package包/类
public Result(boolean saved, boolean allergies, List<AbstractItem> allergyItems) {
    this.saved = saved;
    this.allergies = allergies;
    this.allergyItems = allergyItems;
}
 
开发者ID:citiususc,项目名称:calendula,代码行数:6,代码来源:AllergiesActivity.java

示例12: onSelectionChanged

import com.mikepenz.fastadapter.items.AbstractItem; //导入依赖的package包/类
@Override
public void onSelectionChanged(AbstractItem item, boolean selected) {
    switch (item.getType()) {
        case R.id.fastadapter_allergen_group_item:
            AllergenGroupItem i = (AllergenGroupItem) item;
            final int size = i.getSubItems().size();
            if (selected) {
                i.setSubtitle(getString(R.string.allergies_group_elements_selected, size, size));
            } else {
                i.setSubtitle(getString(R.string.allergies_group_elements_number, size));
            }
            SubItemUtil.selectAllSubItems(searchAdapter, i, selected, true);
            break;
        case R.id.fastadapter_allergen_group_sub_item:
            AllergenGroupItem t = ((AllergenGroupSubItem) item).getParent();
            final int count = SubItemUtil.countSelectedSubItems(searchAdapter, t);
            final int s = t.getSubItems().size();
            final int pos = searchAdapter.getAdapterPosition(t);
            if (count > 0) {
                t.setSubtitle(getString(R.string.allergies_group_elements_selected, s, count));
                if (!t.isSelected()) {
                    t.withSetSelected(true);
                }
            } else {
                t.setSubtitle(getString(R.string.allergies_group_elements_number, s));
                if (t.isSelected()) {
                    t.withSetSelected(false);
                }
            }
            searchAdapter.notifyItemChanged(pos);
            break;
    }

    //show selection confirmation
    final int selectedNumber = getSelected().size();
    if (selectedNumber > 0) {
        selectLayout.setVisibility(View.VISIBLE);
        selectText.setText(getString(R.string.allergies_selected_number, selectedNumber));
        KeyboardUtils.hideKeyboard(AllergiesSearchActivity.this);
    } else {
        selectLayout.setVisibility(View.GONE);
    }
}
 
开发者ID:citiususc,项目名称:calendula,代码行数:44,代码来源:AllergiesSearchActivity.java


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