Ejemplo n.º 1
0
  public void init(
      List<EaseEmojiconGroupEntity> emojiconGroupList,
      int emijiconColumns,
      int bigEmojiconColumns) {
    if (emojiconGroupList == null) {
      throw new RuntimeException("emojiconGroupList is null");
    }

    this.groupEntities = emojiconGroupList;
    this.emojiconColumns = emijiconColumns;
    this.bigEmojiconColumns = bigEmojiconColumns;

    viewpages = new ArrayList<View>();
    for (int i = 0; i < groupEntities.size(); i++) {
      EaseEmojiconGroupEntity group = groupEntities.get(i);
      List<EaseEmojicon> groupEmojicons = group.getEmojiconList();
      totalEmojiconList.addAll(groupEmojicons);
      List<View> gridViews = getGroupGridViews(group);
      if (i == 0) {
        firstGroupPageSize = gridViews.size();
      }
      maxPageCount = Math.max(gridViews.size(), maxPageCount);
      viewpages.addAll(gridViews);
    }

    pagerAdapter = new EmojiconPagerAdapter(viewpages);
    setAdapter(pagerAdapter);
    setOnPageChangeListener(new EmojiPagerChangeListener());

    if (pagerViewListener != null) {
      pagerViewListener.onPagerViewInited(maxPageCount, firstGroupPageSize);
    }
  }
Ejemplo n.º 2
0
 /**
  * 添加表情组
  *
  * @param groupEntity
  */
 public void addEmojiconGroup(EaseEmojiconGroupEntity groupEntity, boolean notifyDataChange) {
   int pageSize = getPageSize(groupEntity);
   if (pageSize > maxPageCount) {
     maxPageCount = pageSize;
     if (pagerViewListener != null && pagerAdapter != null) {
       pagerViewListener.onGroupMaxPageSizeChanged(maxPageCount);
     }
   }
   viewpages.addAll(getGroupGridViews(groupEntity));
   if (pagerAdapter != null && notifyDataChange) {
     pagerAdapter.notifyDataSetChanged();
   }
 }