本文整理汇总了Java中eu.davidea.flexibleadapter.items.IFlexible类的典型用法代码示例。如果您正苦于以下问题:Java IFlexible类的具体用法?Java IFlexible怎么用?Java IFlexible使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IFlexible类属于eu.davidea.flexibleadapter.items包,在下文中一共展示了IFlexible类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: onItemClick
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
@Override
public boolean onItemClick(int position) {
IFlexible flexibleItem = mAdapter.getItem(position);
if (flexibleItem instanceof OverallItem) {
OverallItem overallItem = (OverallItem) flexibleItem;
MenuItem menuItem = mNavigationView.getMenu().findItem(overallItem.getId());
onNavigationItemSelected(menuItem);
return false;
}
// Action on elements are allowed if Mode is IDLE, otherwise selection has priority
if (mAdapter.getMode() != SelectableAdapter.MODE_IDLE && mActionModeHelper != null) {
boolean activate = mActionModeHelper.onClick(position);
Log.d(TAG, "Last activated position " + mActionModeHelper.getActivatedPosition());
return activate;
} else {
// Notify the active callbacks or implement a custom action onClick
if (flexibleItem instanceof SimpleItem || flexibleItem instanceof SubItem) {
//TODO FOR YOU: call your custom Action on item click
String title = extractTitleFrom(flexibleItem);
EditItemDialog.newInstance(title, position).show(getFragmentManager(), EditItemDialog.TAG);
}
return false;
}
}
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:26,代码来源:MainActivity.java
示例2: extractTitleFrom
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
private String extractTitleFrom(IFlexible flexibleItem) {
if (flexibleItem instanceof AbstractItem) {
AbstractItem exampleItem = (AbstractItem) flexibleItem;
String title = exampleItem.getTitle();
if (exampleItem instanceof ExpandableItem) {
ExpandableItem expandableItem = (ExpandableItem) flexibleItem;
if (expandableItem.getSubItems() != null) {
title += "(+" + expandableItem.getSubItems().size() + ")";
}
}
return title;
} else if (flexibleItem instanceof HeaderItem) {
HeaderItem headerItem = (HeaderItem) flexibleItem;
return headerItem.getTitle();
}
// We already covered all situations with instanceof
return "";
}
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:19,代码来源:MainActivity.java
示例3: compare
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
@Override
public int compare(IFlexible lhs, IFlexible rhs) {
int result = 0;
if (lhs instanceof StaggeredHeaderItem && rhs instanceof StaggeredHeaderItem) {
result = ((StaggeredHeaderItem) lhs).getOrder() - ((StaggeredHeaderItem) rhs).getOrder();
} else if (lhs instanceof StaggeredItem && rhs instanceof StaggeredItem) {
result = ((StaggeredItem) lhs).getHeader().getOrder() - ((StaggeredItem) rhs).getHeader().getOrder();
if (result == 0)
result = ((StaggeredItem) lhs).getId() - ((StaggeredItem) rhs).getId();
} else if (lhs instanceof StaggeredItem && rhs instanceof StaggeredHeaderItem) {
result = ((StaggeredItem) lhs).getHeader().getOrder() - ((StaggeredHeaderItem) rhs).getOrder();
} else if (lhs instanceof StaggeredHeaderItem && rhs instanceof StaggeredItem) {
result = ((StaggeredHeaderItem) lhs).getOrder() - ((StaggeredItem) rhs).getHeader().getOrder();
}
return result;
}
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:17,代码来源:DatabaseService.java
示例4: compare
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
@Override
public int compare(IFlexible v1, IFlexible v2) {
int result = 0;
if (v1 instanceof SimpleHeader && v2 instanceof SimpleHeader) {
result = ((SimpleHeader) v1).title.compareTo(((SimpleHeader) v2).title);
} else if (v1 instanceof SimpleItem && v2 instanceof SimpleItem) {
result = ((SimpleItem) v1).getHeader().title.compareTo(((SimpleItem) v2).getHeader().title);
if (result == 0)
result = ((SimpleItem) v1).title.compareTo(((SimpleItem) v2).title);
} else if (v1 instanceof SimpleItem && v2 instanceof SimpleHeader) {
result = ((SimpleItem) v1).getHeader().title.compareTo(((SimpleHeader) v2).title);
if (result == 0) result--;
} else if (v1 instanceof SimpleHeader && v2 instanceof SimpleItem) {
result = ((SimpleHeader) v1).title.compareTo(((SimpleItem) v2).getHeader().title);
if (result == 0) result--;
}
return result;
}
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:22,代码来源:ItemComparatorTest.java
示例5: onItemSwipe
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
@Override
public void onItemSwipe(int position, int direction) {
List<Integer> positions = new ArrayList<>(1);
positions.add(position);
// Build the message
IFlexible abstractItem = adapter.getItem(position);
// Experimenting NEW feature
if (abstractItem.isSelectable()) {
adapter.setRestoreSelectionOnUndo(false);
}
if (direction == ItemTouchHelper.LEFT) {
FavouriteJourneysActivity.this.startActivity(setISearchIntent(true, ((FavouriteJourneysItem) presenter.getRecyclerViewList().get(position)).getPreferredJourney().swapStations()));
overridePendingTransition(R.anim.slide_right_in, R.anim.slide_out_right);
} else if (direction == ItemTouchHelper.RIGHT) {
FavouriteJourneysActivity.this.startActivity(setISearchIntent(false, ((FavouriteJourneysItem) presenter.getRecyclerViewList().get(position)).getPreferredJourney()));
overridePendingTransition(R.anim.slide_left_in, R.anim.slide_out_left);
}
}
开发者ID:albertogiunta,项目名称:justintrain-client-android,代码行数:20,代码来源:FavouriteJourneysActivity.java
示例6: extractTitleFrom
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
private String extractTitleFrom(IFlexible flexibleItem) {
if (flexibleItem instanceof AbstractItem) {
AbstractItem exampleItem = (AbstractItem) flexibleItem;
String title = exampleItem.getTitle();
if (exampleItem instanceof ExpandableItem) {
ExpandableItem expandableItem = (ExpandableItem) flexibleItem;
if (expandableItem.getSubItems() != null) {
title += "(+" + expandableItem.getSubItems().size() + ")";
}
}
return title;
} else if (flexibleItem instanceof HeaderItem) {
HeaderItem headerItem = (HeaderItem) flexibleItem;
return headerItem.getTitle();
}
// We already covered all situations with instanceof
return "";
}
开发者ID:davideas,项目名称:FlexibleAdapter,代码行数:19,代码来源:MainActivity.java
示例7: updateNewItems
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
/**
* This demonstrates that new content of existing items are really rebound and
* notified with CHANGE Payload in the Adapter list when refreshed.
*/
public void updateNewItems() {
IHeader header = null;
for (IFlexible iFlexible : mItems) {
if (iFlexible instanceof AbstractItem) {
AbstractItem item = (AbstractItem) iFlexible;
item.increaseUpdates();
}
if (iFlexible instanceof ISectionable) {
IHeader newHeader = ((ISectionable) iFlexible).getHeader();
if (newHeader instanceof HeaderItem && !newHeader.equals(header)) {
header = newHeader;
HeaderItem headerItem = (HeaderItem) header;
headerItem.increaseUpdates();
}
}
}
}
开发者ID:davideas,项目名称:FlexibleAdapter,代码行数:22,代码来源:DatabaseService.java
示例8: compare
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
@Override
public int compare(IFlexible lhs, IFlexible rhs) {
int result = 0;
if (lhs instanceof StaggeredHeaderItem && rhs instanceof StaggeredHeaderItem) {
result = ((StaggeredHeaderItem) lhs).getOrder() - ((StaggeredHeaderItem) rhs).getOrder();
} else if (lhs instanceof StaggeredItem && rhs instanceof StaggeredItem) {
result = ((StaggeredItem) lhs).getHeader().getOrder() - ((StaggeredItem) rhs).getHeader().getOrder();
if (result == 0)
result = ((StaggeredItem) lhs).getId() - ((StaggeredItem) rhs).getId();
} else if (lhs instanceof StaggeredItem && rhs instanceof StaggeredHeaderItem) {
result = ((StaggeredItem) lhs).getHeader().getOrder() - ((StaggeredHeaderItem) rhs).getOrder();
} else if (lhs instanceof StaggeredHeaderItem && rhs instanceof StaggeredItem) {
result = ((StaggeredHeaderItem) lhs).getOrder() - ((StaggeredItem) rhs).getHeader().getOrder();
}
return result;
}
开发者ID:davideas,项目名称:FlexibleAdapter,代码行数:17,代码来源:DatabaseService.java
示例9: compare
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
@Override
public int compare(IFlexible v1, IFlexible v2) {
int result = 0;
if (v1 instanceof SimpleHeader && v2 instanceof SimpleHeader) {
result = ((SimpleHeader) v1).title.compareTo(((SimpleHeader) v2).title);
} else if (v1 instanceof SimpleItem && v2 instanceof SimpleItem) {
result = ((SimpleItem) v1).getHeader().title.compareTo(((SimpleItem) v2).getHeader().title);
if (result == 0)
result = ((SimpleItem) v1).title.compareTo(((SimpleItem) v2).title);
} else if (v1 instanceof SimpleItem && v2 instanceof SimpleHeader) {
result = ((SimpleItem) v1).getHeader().title.compareTo(((SimpleHeader) v2).title);
if (result == 0) result--;
} else if (v1 instanceof SimpleHeader && v2 instanceof SimpleItem) {
result = ((SimpleHeader) v1).title.compareTo(((SimpleItem) v2).getHeader().title);
if (result == 0) result--;
}
return result;
}
开发者ID:davideas,项目名称:FlexibleAdapter,代码行数:22,代码来源:ItemComparatorTest.java
示例10: addItemToSection
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
/**
* Adds a new item in a section when the relative position is <b>unknown</b>.
* <p>The header can be a {@code IExpandable} type or {@code IHeader} type.</p>
* The Comparator object must support <u>all</u> the item types this Adapter is displaying or
* a ClassCastException will be raised.
*
* @param sectionable the item to add
* @param header the section receiving the new item
* @param comparator the criteria to sort the sectionItems used to extract the correct position
* of the new item in the section
* @return the calculated final position for the new item
* @see #addItemToSection(ISectionable, IHeader, int)
* @since 5.0.0-b6
*/
public int addItemToSection(@NonNull ISectionable sectionable, @Nullable IHeader header,
@Nullable Comparator<IFlexible> comparator) {
int index;
if (header != null && !header.isHidden()) {
List<ISectionable> sectionItems = getSectionItems(header);
sectionItems.add(sectionable);
//Sort the list for new position
Collections.sort(sectionItems, comparator);
//Get the new position
index = sectionItems.indexOf(sectionable);
} else {
index = calculatePositionFor(sectionable, comparator);
}
return addItemToSection(sectionable, header, index);
}
开发者ID:davideas,项目名称:FlexibleAdapter,代码行数:30,代码来源:FlexibleAdapter.java
示例11: createList
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
private List<IFlexible> createList(int size, int headers) {
HeaderItem header = null;
List<IFlexible> items = new ArrayList<>();
int lastHeaderId = 0;
for (int i = 0; i < size; i++) {
header = i % Math.round(size / headers) == 0 ?
DatabaseService.newHeader(++lastHeaderId) : header;
items.add(DatabaseService.newSimpleItem(i + 1, header));
}
return items;
}
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:12,代码来源:FragmentViewPager.java
示例12: updateNewItems
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
/**
* This demonstrates that new content of existing items are really rebound and
* notified with CHANGE Payload in the Adapter list when refreshed.
*/
public void updateNewItems() {
for (IFlexible iFlexible : mItems) {
if (iFlexible instanceof AbstractItem) {
AbstractItem item = (AbstractItem) iFlexible;
item.increaseUpdates();
}
}
}
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:13,代码来源:DatabaseService.java
示例13: getItemViewType
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
/**
* METHOD A - NEW! Via Model objects. In this case you don't need to implement this method!
* METHOD B - You override and implement this method as you prefer (don't call super).
*/
@Override
public int getItemViewType(int position) {
IFlexible item = getItem(position);
if (item instanceof ScrollableUseCaseItem) return R.layout.recycler_scrollable_usecase_item;
else if (item instanceof ScrollableLayoutItem) return R.layout.recycler_scrollable_layout_item;
else return R.layout.recycler_overall_item;
}
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:12,代码来源:OverallAdapter.java
示例14: onItemClick
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
@Override
public boolean onItemClick(int position) {
IFlexible item = adapter.getItem(position);
if (!(item instanceof AttendanceItem)) return true;
presenter.attendanceClicked(((AttendanceItem) item).getAttendance());
return true;
}
开发者ID:shymmq,项目名称:librus-client,代码行数:8,代码来源:AttendanceFragment.java
示例15: onItemClick
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
public boolean onItemClick(int position) {
IFlexible item = adapter.getItem(position);
if (item instanceof LessonItem) {
EnrichedLesson lesson = ((LessonItem) item).getLesson();
presenter.lessonClicked(lesson);
return true;
} else {
return false;
}
}
开发者ID:shymmq,项目名称:librus-client,代码行数:11,代码来源:TimetableFragment.java
示例16: mapLessonsForWeek
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
private Stream<IFlexible> mapLessonsForWeek(SchoolWeek schoolWeek) {
Stream.Builder<IFlexible> builder = RefStreams.builder();
Map<LocalDate, List<EnrichedLesson>> days = StreamSupport.stream(schoolWeek.lessons())
.collect(Collectors.groupingBy(EnrichedLesson::date));
for (LocalDate date = schoolWeek.weekStart(); date.isBefore(schoolWeek.weekStart().plusWeeks(1)); date = date.plusDays(1)) {
LessonHeaderItem header = new LessonHeaderItem(date);
List<EnrichedLesson> schoolDay = days.get(date);
if (schoolDay == null || schoolDay.isEmpty()) {
builder.add(new EmptyDayItem(header, date));
} else {
ImmutableMap<Integer, EnrichedLesson> lessonMap = Maps.uniqueIndex(schoolDay, BaseLesson::lessonNo);
int maxLessonNumber = Collections.max(lessonMap.keySet());
int minLessonNumber = Collections.min(lessonMap.keySet());
minLessonNumber = Math.min(1, minLessonNumber);
for (int l = minLessonNumber; l <= maxLessonNumber; l++) {
EnrichedLesson lesson = lessonMap.get(l);
if (lesson != null) {
builder.add(new LessonItem(header, lesson, getContext()));
} else {
builder.add(new MissingLessonItem(header, l));
}
}
}
}
return builder.build();
}
开发者ID:shymmq,项目名称:librus-client,代码行数:31,代码来源:TimetableFragment.java
示例17: display
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
@Override
public void display(List<SchoolWeek> schoolWeeks) {
adapter.clear();
List<IFlexible> elements = StreamSupport.stream(schoolWeeks)
.flatMap(this::mapLessonsForWeek)
.collect(Collectors.toList());
adapter.addItems(0, elements);
}
开发者ID:shymmq,项目名称:librus-client,代码行数:11,代码来源:TimetableFragment.java
示例18: display
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
@Override
public void display(List<FullAnnouncement> announcements) {
AnnouncementHeaders headers = new AnnouncementHeaders(getContext());
List<IFlexible> announcementItems = StreamSupport.stream(announcements)
.map(a -> new AnnouncementItem(a, headers.getHeaderOf(a)))
.sorted(ordering)
.collect(toList());
adapter.clear();
adapter.setDisplayHeadersAtStartUp(true);
adapter.addItems(0, announcementItems);
}
开发者ID:shymmq,项目名称:librus-client,代码行数:13,代码来源:AnnouncementsFragment.java
示例19: onClick
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
private boolean onClick(int position) {
IFlexible item = adapter.getItem(position);
if (!(item instanceof AnnouncementItem)) return false;
AnnouncementItem announcementItem = (AnnouncementItem) item;
presenter.displayDetails(announcementItem);
return true;
}
开发者ID:shymmq,项目名称:librus-client,代码行数:10,代码来源:AnnouncementsFragment.java
示例20: createList
import eu.davidea.flexibleadapter.items.IFlexible; //导入依赖的package包/类
private List<IFlexible> createList(int size, int headers) {
HeaderItem header = null;
List<IFlexible> items = new ArrayList<>();
int lastHeaderId = 0;
for (int i = 0; i < size; i++) {
header = i % Math.round(size / headers) == 0 ?
DatabaseService.newHeader(++lastHeaderId) : header;
items.add(DatabaseService.newSimpleItem(i + 1, header));
}
return items;
}
开发者ID:davideas,项目名称:FlexibleAdapter,代码行数:12,代码来源:FragmentViewPager.java
注:本文中的eu.davidea.flexibleadapter.items.IFlexible类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论