Esempio n. 1
0
 public void onClick(View view) {
   ViewHolderBase viewHolderBase = (ViewHolderBase) view.getTag();
   final int oldSelected = mViewPager.getCurrentItem();
   final int newSelected = viewHolderBase.getIndex();
   mViewPager.setCurrentItem(newSelected);
   if (oldSelected == newSelected && mTabReselectedListener != null) {
     mTabReselectedListener.onTabReselected(newSelected);
   }
 }
Esempio n. 2
0
  private void updateTab(int item) {

    final int tabCount = mTabLayout.getChildCount();
    for (int i = 0; i < tabCount; i++) {
      final View child = mTabLayout.getChildAt(i);
      final ViewHolderBase viewHolderBase = (ViewHolderBase) child.getTag();
      final boolean isSelected = (i == item);
      viewHolderBase.updateView(i, isSelected);
      if (isSelected) {
        animateToTab(item);
      }
    }
  }
Esempio n. 3
0
  public void notifyDataSetChanged() {
    mTabLayout.removeAllViews();
    PagerAdapter adapter = mViewPager.getAdapter();

    final int count = adapter.getCount();
    LayoutInflater layoutInflater = LayoutInflater.from(this.getContext());
    for (int i = 0; i < count; i++) {
      ViewHolderBase viewHolder = mViewHolderCreator.createViewHolder();
      viewHolder.setIndex(i);
      View view = viewHolder.createView(layoutInflater, i);
      view.setFocusable(true);
      view.setOnClickListener(mTabClickListener);
      view.setTag(viewHolder);
      mTabLayout.addView(view, new LinearLayout.LayoutParams(0, MATCH_PARENT, 1));
    }
    if (mSelectedTabIndex > count) {
      mSelectedTabIndex = count - 1;
    }
    moveToItem(mSelectedTabIndex);
    requestLayout();
  }