Java 类android.support.v4.view.PagerAdapter 实例源码

项目:RLibrary    文件:TextIndicator.java   
private void initView() {
    PagerAdapter adapter = mViewPager.getAdapter();
    if (autoHide) {
        if (adapter == null) {
            setVisibility(INVISIBLE);
        } else {
            setVisibility(VISIBLE);
            setText((mViewPager.getCurrentItem() + 1) + "/" + adapter.getCount());
        }
    } else {
        if (adapter == null) {
        } else {
            setText((mViewPager.getCurrentItem() + 1) + "/" + adapter.getCount());
        }
    }
}
项目:AmenEye    文件:AutoScrollViewPager.java   
@Override
public void setAdapter(PagerAdapter adapter) {
    wrappedPagerAdapter = adapter;
    //若设置的 adapter 不为空则对其进行包装
    wrapperPagerAdapter = (wrappedPagerAdapter == null) ? null : new AutoScrollPagerAdapter(adapter);
    super.setAdapter(wrapperPagerAdapter);  //为viewPager设置的是包装的adapter
    if (adapter != null && adapter.getCount() != 0) {
        post(new Runnable() {
            @Override
            public void run() {
                setCurrentItem(0, false);
            }
        });
    }
    startAutoScroll();
}
项目:Hotspot-master-devp    文件:TabPageIndicator.java   
@Override
public void setViewPager(ViewPager view) {
    if (mViewPager == view) {
        return;
    }
    if (mViewPager != null) {
        mViewPager.setOnPageChangeListener(null);
    }
    final PagerAdapter adapter = view.getAdapter();
    if (adapter == null) {
        throw new IllegalStateException("ViewPager does not have adapter instance.");
    }
    mViewPager = view;
    view.setOnPageChangeListener(this);
    notifyDataSetChanged();
}
项目:android-project-gallery    文件:TabPageIndicator.java   
@Override
public void setViewPager(ViewPager view) {
    if (mViewPager == view) {
        return;
    }
    if (mViewPager != null) {
        mViewPager.setOnPageChangeListener(null);
    }
    final PagerAdapter adapter = view.getAdapter();
    if (adapter == null) {
        throw new IllegalStateException("ViewPager does not have adapter instance.");
    }
    mViewPager = view;
    view.setOnPageChangeListener(this);
    notifyDataSetChanged();
}
项目:GitHub    文件:PagerActivity.java   
/**
 *
 */
private void defaultUltraViewPager(){
    UltraViewPager ultraViewPager = (UltraViewPager)findViewById(R.id.ultra_viewpager);
    ultraViewPager.setScrollMode(UltraViewPager.ScrollMode.HORIZONTAL);
    //initialize UltraPagerAdapter,and add child view to UltraViewPager
    PagerAdapter adapter = new UltraPagerAdapter(false);
    ultraViewPager.setAdapter(adapter);

    //initialize built-in indicator
    ultraViewPager.initIndicator();
    //set style of indicators
    ultraViewPager.getIndicator()
            .setOrientation(UltraViewPager.Orientation.HORIZONTAL)
            .setFocusColor(Color.GREEN)
            .setNormalColor(Color.WHITE)
            .setRadius((int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 5, getResources().getDisplayMetrics()));
    //set the alignment
    ultraViewPager.getIndicator().setGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM);
    //construct built-in indicator, and add it to  UltraViewPager
    ultraViewPager.getIndicator().build();

    //set an infinite loop
    ultraViewPager.setInfiniteLoop(true);
    //enable auto-scroll mode
    ultraViewPager.setAutoScroll(2000);
}
项目:musicplayer    文件:TabPageIndicator.java   
public void notifyDataSetChanged() {
    mTabLayout.removeAllViews();
    PagerAdapter adapter = mViewPager.getAdapter();
    IconPagerAdapter iconAdapter = null;
    if (adapter instanceof IconPagerAdapter) {
        iconAdapter = (IconPagerAdapter)adapter;
    }
    final int count = adapter.getCount();
    for (int i = 0; i < count; i++) {
        CharSequence title = adapter.getPageTitle(i);
        if (title == null) {
            title = EMPTY_TITLE;
        }
        int iconResId = 0;
        if (iconAdapter != null) {
            iconResId = iconAdapter.getIconResId(i);
        }
        addTab(i, title, iconResId);
    }
    if (mSelectedTabIndex > count) {
        mSelectedTabIndex = count - 1;
    }
    setCurrentItem(mSelectedTabIndex);
    requestLayout();
}
项目:UltraViewPager    文件:UltraViewPagerView.java   
@Override
public void setAdapter(PagerAdapter adapter) {
    if (adapter != null) {
        if (pagerAdapter == null || pagerAdapter.getAdapter() != adapter) {
            pagerAdapter = new UltraViewPagerAdapter(adapter);
            pagerAdapter.setCenterListener(this);
            pagerAdapter.setEnableLoop(enableLoop);
            pagerAdapter.setMultiScrRatio(multiScrRatio);
            needsMeasurePage = true;
            constrainLength = 0;
            super.setAdapter(pagerAdapter);
        }
    } else {
        super.setAdapter(adapter);
    }
}
项目:MobileMedia    文件:UnderLinePageIndicator.java   
@Override
public void setViewPager(ViewPager view) {
    Logger.d("set ViewPager");
    if (mViewPager == view) {
        return;
    }
    if (mViewPager != null) {
        mViewPager.setOnPageChangeListener(null);
    }
    final PagerAdapter adapter = view.getAdapter();
    if (adapter == null) {
        throw new IllegalStateException("ViewPager does not have adapter instance.");
    }
    mViewPager = view;
    view.setOnPageChangeListener(this);
    notifyDataSetChanged();
}
项目:LuaViewPlayground    文件:LVCustomViewPagerIndicator.java   
@Override
public void setViewPager(ViewPager view) {
    if (mViewPager == view) {
        return;
    }
    if (mViewPager != null) {
        mViewPager.setOnPageChangeListener(null);
    }
    PagerAdapter adapter = view.getAdapter();
    if (adapter == null) {
        throw new IllegalStateException("ViewPager does not have adapter instance.");
    }
    mViewPager = view;
    view.setOnPageChangeListener(this);
    notifyDataSetChanged();
}
项目:MVVM-JueJin    文件:ViewPagerAdapter.java   
private static void bind(ViewPager container, final ItemView itemView, final List<?> datas, final OnItemClickListener<?> onItemClickListener) {
    PagerAdapter adapter;
    if (datas != null && !datas.isEmpty()) {
        adapter = container.getAdapter();
        if(adapter == null) {
            // initialize, adapter is only set once !!!
            container.setAdapter(adapter = new CommonPagerAdapter<Object>(container.getContext(), itemView.layoutRes(), (List<Object>)datas) {
                @Override
                protected void convert(ViewHolder holder, Object data, int position) {
                    DataBindingUtil.bind(holder.itemView).setVariable(itemView.bindingVariable(), data);
                }
            });

            ((CommonPagerAdapter<Object>)adapter).setOnItemClickListener((OnItemClickListener<Object>)onItemClickListener);
        }

        adapter.notifyDataSetChanged();
    }
}
项目:KUtils    文件:SmartTabLayout.java   
private void populateTabStrip() {
  final PagerAdapter adapter = viewPager.getAdapter();

  for (int i = 0; i < adapter.getCount(); i++) {

    final View tabView = (tabProvider == null)
        ? createDefaultTabView(adapter.getPageTitle(i))
        : tabProvider.createTabView(tabStrip, i, adapter);

    if (tabView == null) {
      throw new IllegalStateException("tabView is null.");
    }

    if (distributeEvenly) {
      LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) tabView.getLayoutParams();
      lp.width = 0;
      lp.weight = 1;
    }

    if (internalTabClickListener != null) {
      tabView.setOnClickListener(internalTabClickListener);
    }

    tabStrip.addView(tabView);

    if (i == viewPager.getCurrentItem()) {
      tabView.setSelected(true);
    }

  }
}
项目:letv    文件:TabPageIndicator.java   
public void notifyDataSetChanged() {
    this.mTabLayout.removeAllViews();
    PagerAdapter adapter = this.mViewPager.getAdapter();
    IconPagerAdapter iconAdapter = null;
    if (adapter instanceof IconPagerAdapter) {
        iconAdapter = (IconPagerAdapter) adapter;
    }
    int count = adapter.getCount();
    for (int i = 0; i < count; i++) {
        CharSequence title = adapter.getPageTitle(i);
        if (title == null) {
            title = EMPTY_TITLE;
        }
        int iconResId = 0;
        if (iconAdapter != null) {
            iconResId = iconAdapter.getIconResId(i);
        }
        addTab(i, title, iconResId);
    }
    if (this.mSelectedTabIndex > count) {
        this.mSelectedTabIndex = count - 1;
    }
    setCurrentItem(this.mSelectedTabIndex);
    requestLayout();
}
项目:text_converter    文件:AutoScrollViewPager.java   
/**
 * scroll only once
 */
public void scrollOnce() {
    PagerAdapter adapter = getAdapter();
    int currentItem = getCurrentItem();
    int totalCount;
    if (adapter == null || (totalCount = adapter.getCount()) <= 1) {
        return;
    }

    int nextItem = (direction == LEFT) ? --currentItem : ++currentItem;
    if (nextItem < 0) {
        if (isCycle) {
            setCurrentItem(totalCount - 1, isBorderAnimation);
        }
    } else if (nextItem == totalCount) {
        if (isCycle) {
            setCurrentItem(0, isBorderAnimation);
        }
    } else {
        setCurrentItem(nextItem, true);
    }
}
项目:CircularViewPager    文件:CircularTabLayout.java   
private void setupWithViewPager(@NonNull ViewPager viewPager) {
    mViewPager = viewPager;

    PagerAdapter adapter = viewPager.getAdapter();
    if (adapter == null) {
        throw new IllegalArgumentException("ViewPager does not have a PagerAdapter set");
    }

    setTabsFromPagerAdapter(adapter);

    viewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
        public void onPageSelected(int position) {
            if (!mScrollingByManual) {
                smoothScrollToPosition(mCircularTabLayoutAdapter.moveToPosition(position));
            }
            mScrollingByManual = false;
        }
    });
}
项目:android-project-gallery    文件:IconPageIndicator.java   
@Override
public void setViewPager(ViewPager view) {
    if (mViewPager == view) {
        return;
    }
    if (mViewPager != null) {
        mViewPager.setOnPageChangeListener(null);
    }
    PagerAdapter adapter = view.getAdapter();
    if (adapter == null) {
        throw new IllegalStateException("ViewPager does not have adapter instance.");
    }
    mViewPager = view;
    view.setOnPageChangeListener(this);
    notifyDataSetChanged();
}
项目:QMUI_Android    文件:QMUIViewPager.java   
@Override
public void setAdapter(PagerAdapter adapter) {
    if (adapter instanceof QMUIPagerAdapter) {
        super.setAdapter(new WrapperPagerAdapter((QMUIPagerAdapter) adapter));
    } else {
        super.setAdapter(adapter);
    }
}
项目:PagerTabIndicator    文件:PagerTabsIndicator.java   
private void listenToAdapterChanges(PagerAdapter pagerAdapter) {
    if (adapter != null) {
        adapter.unregisterDataSetObserver(adapterObserver);
    }
    if (pagerAdapter == null) {
        Log.e(TAG, "listenToAdapterChanges - pager adapter is null. can't register");
        return;
    }
    this.adapter = pagerAdapter;
    this.adapter.registerDataSetObserver(adapterObserver);
    notifyDatasetChanged();
}
项目:Hotspot-master-devp    文件:CategoryPagerAdapter.java   
@Override
public int getItemPosition(Object object) {
    int i = mPagerList.indexOf(object);
    if(i == -1)
    return PagerAdapter.POSITION_NONE;
    return i;
}
项目:SmartRefresh    文件:RefreshContentWrapper.java   
private void wrapperViewPager(final ViewPager viewPager, PagerPrimaryAdapter primaryAdapter) {
    viewPager.post(new Runnable() {
        int count = 0;
        PagerPrimaryAdapter mAdapter = primaryAdapter;
        @Override
        public void run() {
            count++;
            PagerAdapter adapter = viewPager.getAdapter();
            if (adapter != null) {
                if (adapter instanceof PagerPrimaryAdapter) {
                    if (adapter == primaryAdapter) {
                        viewPager.postDelayed(this, 500);
                    }
                } else {
                    if (mAdapter == null) {
                        mAdapter = new PagerPrimaryAdapter(adapter);
                    } else {
                        mAdapter.wrapper(adapter);
                    }
                    mAdapter.attachViewPager(viewPager);
                }
            } else if (count < 10) {
                viewPager.postDelayed(this, 500);
            }
        }
    });
}
项目:viewpager    文件:FGridViewPager.java   
@Override
public void setAdapter(PagerAdapter adapter)
{
    super.setAdapter(adapter);

    if (adapter != mInternalPagerAdapter)
    {
        setGridAdapter(null);
    }
}
项目:GitHub    文件:InfiniteCycleManager.java   
public PagerAdapter setAdapter(final PagerAdapter adapter) {
    // If adapter count bigger then 2 need to set InfiniteCyclePagerAdapter
    if (adapter != null && adapter.getCount() >= MIN_CYCLE_COUNT) {
        mItemCount = adapter.getCount();
        mInfiniteCyclePagerAdapter = new InfiniteCyclePagerAdapter(adapter);
        mInfiniteCyclePagerAdapter.setOnNotifyDataSetChangedListener(this);
        return mInfiniteCyclePagerAdapter;
    } else {
        if (mInfiniteCyclePagerAdapter != null) {
            mInfiniteCyclePagerAdapter.setOnNotifyDataSetChangedListener(null);
            mInfiniteCyclePagerAdapter = null;
        }
        return adapter;
    }
}
项目:MenuSet    文件:CoolMenuFrameLayout.java   
public void setAdapter(PagerAdapter adapter) {
    if (mAdapter != null) {
        mAdapter.unregisterDataSetObserver(mObserver);
        mAdapter.startUpdate(this);
        for (int i = 0; i < num; i++) {
            mAdapter.destroyItem((ViewGroup) getChildAt(i), i, objects.get(i));
        }
        mAdapter.finishUpdate(this);
    }

    this.mAdapter = adapter;
    if (mAdapter == null) {
        return;
    }

    if (mObserver == null) {
        mObserver = new MenuObserver();
    }
    mAdapter.registerDataSetObserver(mObserver);

    int count = mAdapter.getCount();
    if (count != num) {
        throw new RuntimeException("number of view should equal 'num' that declared in xml");
    }

    for (int i = 0; i < count; i++) {
        Object object = mAdapter.instantiateItem((ViewGroup) getChildAt(i), i);
        objects.add(object);
    }
    mAdapter.finishUpdate(this);
}
项目:letv    文件:ChannelTabPageIndicator.java   
public void notifyDataSetChanged() {
    PagerAdapter adapter = this.mViewPager.getAdapter();
    int count = adapter.getCount();
    if (count != 0) {
        int width = TAB_MARGIN;
        for (int i = 0; i < count; i++) {
            width += getTabWidth(adapter.getPageTitle(i)) + TAB_MARGIN;
        }
        this.mMeanWidth = -1;
        if (this.mLayoutWidh > width && count <= 7) {
            this.mMeanWidth = (this.mLayoutWidh - (TAB_MARGIN * (count + 1))) / count;
        }
        super.notifyDataSetChanged();
    }
}
项目:GitHub    文件:UltraViewPagerView.java   
@Override
public void setAdapter(PagerAdapter adapter) {
    if (adapter != null) {
        pagerAdapter = new UltraViewPagerAdapter(adapter);
        pagerAdapter.setCenterListener(this);
        pagerAdapter.setEnableLoop(enableLoop);
        pagerAdapter.setMultiScrRatio(multiScrRatio);
        needsMeasurePage = true;
        constrainLength = 0;
        super.setAdapter(pagerAdapter);
    } else {
        super.setAdapter(adapter);
    }
}
项目:GitHub    文件:SmartTabLayout.java   
private void populateTabStrip() {
  final PagerAdapter adapter = viewPager.getAdapter();

  for (int i = 0; i < adapter.getCount(); i++) {

    final View tabView = (tabProvider == null)
        ? createDefaultTabView(adapter.getPageTitle(i))
        : tabProvider.createTabView(tabStrip, i, adapter);

    if (tabView == null) {
      throw new IllegalStateException("tabView is null.");
    }

    if (distributeEvenly) {
      LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) tabView.getLayoutParams();
      lp.width = 0;
      lp.weight = 1;
    }

    if (internalTabClickListener != null) {
      tabView.setOnClickListener(internalTabClickListener);
    }

    tabStrip.addView(tabView);

    if (i == viewPager.getCurrentItem()) {
      tabView.setSelected(true);
    }

  }
}
项目:SmartChart    文件:SmartTabLayout.java   
private void populateTabStrip() {
  final PagerAdapter adapter = viewPager.getAdapter();

  for (int i = 0; i < adapter.getCount(); i++) {

    final View tabView = (tabProvider == null)
        ? createDefaultTabView(adapter.getPageTitle(i))
        : tabProvider.createTabView(tabStrip, i, adapter);

    if (tabView == null) {
      throw new IllegalStateException("tabView is null.");
    }

    if (distributeEvenly) {
      LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) tabView.getLayoutParams();
      lp.width = 0;
      lp.weight = 1;
    }

    if (internalTabClickListener != null) {
      tabView.setOnClickListener(internalTabClickListener);
    }

    tabStrip.addView(tabView);

    if (i == viewPager.getCurrentItem()) {
      tabView.setSelected(true);
    }

  }
}
项目:TIIEHenry-Android-SDK    文件:TabLayout.java   
public void setupWithViewPager(ViewPager viewPager) {
PagerAdapter adapter = viewPager.getAdapter();
if (adapter == null) {
  throw new IllegalArgumentException("ViewPager does not have a PagerAdapter set");
} else {
  this.addTabsFromPagerAdapter(adapter);
  viewPager.setOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(this));
  this.setOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(viewPager));
  if (this.mSelectedTab == null || this.mSelectedTab.getPosition() != viewPager.getCurrentItem()) {
    this.getTabAt(viewPager.getCurrentItem()).select();
  }

}
 }
项目:ADViewPager    文件:ADViewPager.java   
/**
 * 初始化ADViewPager
 */
private void initADViewPager() {
    if (imageUrls == null || imageUrls.size() < 1) {
        return;
    }
    LayoutInflater.from(context).inflate(R.layout.view_ad_pager, this, true);
    dotLayout = (LinearLayout) findViewById(R.id.ll_dot);
    viewPager = (ViewPager) findViewById(R.id.viewPager_ad);
    dotLayout.removeAllViews();

    if (adImageLoader == null) {
        throw new NullPointerException("adLoader == null");
    }
    allPage = new ImageView[imageUrls.size()];
    // 热点个数与图片特殊相等
    for (int i = 0; i < imageUrls.size(); i++) {
        ImageView pageView = new ImageView(context);
        allPage[i] = pageView;
        pageView.setTag(R.id.AD_ImageView, i);
        pageView.setScaleType(ImageView.ScaleType.FIT_XY);
        adImageLoader.displayImage(context, imageUrls.get(i), pageView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
        pageView.setOnClickListener(this);
    }

    if (isDisplayIndicator) {
        drawPageIndicator();
    }

    PagerAdapter adapter = new ADViewPagerAdapter();
    viewPager.setAdapter(adapter);
    viewPager.setFocusable(true);
    if (pageTransformer != null) {
        viewPager.setPageTransformer(true, pageTransformer);
    }
    viewPager.addOnPageChangeListener(new ADViewPagerChangeListener());
}
项目:stynico    文件:RollPagerView.java   
/**
 * 设置Adapter
 * @param adapter
 */
public void setAdapter(PagerAdapter adapter)
{
    adapter.registerDataSetObserver(new JPagerObserver());
    mViewPager.setAdapter(adapter);
       mViewPager.addOnPageChangeListener(this);
    mAdapter = adapter;
    dataSetChanged();
   }
项目:minu-poska-android    文件:MyScheduleActivity.java   
@Override
public void onViewPagerCreated() {
    PagerAdapter adapter = vViewPager.getAdapter();
    if (adapter == null)
        return;
    if (!setCurrentDay) {
        int idx = getTimetable().getDayIndexIn(0);
        if (idx != -1 && adapter.getCount() != 0) {
            vViewPager.setCurrentItem(idx);
            setCurrentDay = true;
        }
    }
}
项目:javaide    文件:ArrayPagerAdapter.java   
@Override
public int getItemPosition(Object o) {
    Integer result = positionDelta.get(o);

    if (result == null) {
        return (PagerAdapter.POSITION_UNCHANGED);
    }

    return (result);
}
项目:LuaViewPlayground    文件:LVCustomViewPagerIndicator.java   
@Override
public void notifyDataSetChanged() {
    mLayout.removeAllViews();
    PagerAdapter adapter = mViewPager.getAdapter();
    int count = adapter.getCount();
    for (int i = 0; i < count; i++) {
        View view = createAndRenderView(i);
        mLayout.addView(view);
    }
    if (mSelectedIndex > count) {
        mSelectedIndex = count - 1;
    }
    setCurrentItem(mSelectedIndex);
    requestLayout();
}
项目:RLibrary    文件:UIViewPager.java   
@Override
public void setAdapter(PagerAdapter adapter) {
    super.setAdapter(adapter);
    if (isOnAttachedToWindow) {
        check();
    }
}
项目:BezierRoundView    文件:BezierRoundView .java   
/**
 * ����ViewPager������scroll���иı�bezRound
 */
public void attach2ViewPage(ViewPager vPage) {
    vPage.addOnPageChangeListener(this);
    this.mViewPage = vPage;
    if (PagerAdapter.class.isInstance(vPage.getAdapter())) {
        this.default_round_count = vPage.getAdapter().getCount();
        initCountPos();
    }
}
项目:LuaViewPlayground    文件:AutoScrollViewPager.java   
/**
 * scroll only once
 */
public void scrollOnce() {
    PagerAdapter adapter = getAdapter();
    int realPosition = getCurrentItem();
    int realCount;
    if (adapter == null || (realCount = getRealCount()) <= 1) {
        return;
    }

    //调整方向
    if (reverseDirection) {
        if (direction == RIGHT && realPosition + 1 >= realCount) {
            direction = LEFT;
        } else if (direction == LEFT && realPosition - 1 < 0) {
            direction = RIGHT;
        }
    }

    if (isLooping()) {
        setCurrentItem(direction == LEFT ? (realPosition - 1) % getCount() : (realPosition + 1) % getCount(), true);
    } else {
        int nextItem = (direction == LEFT) ? --realPosition : ++realPosition;
        if (nextItem < 0) {
            setCurrentItem(realCount - 1, true);
        } else if (nextItem == realCount) {
            setCurrentItem(0, true);
        } else {
            setCurrentItem(nextItem, true);
        }
    }
}
项目:gradationpager    文件:InfiniteTabLayout.java   
public void createTab(ViewPager viewPager, PagerAdapter adapter) {
    if(viewPager == null) {
        throw new NullPointerException("viewpager is null");
    } else if(adapter == null) {
        throw  new NullPointerException("pager adapter is null");
    }
    for (int i = 0; i < adapter.getCount(); i++) {
        addTab(newTab().setText(adapter.getPageTitle(i)));
    }
    mViewPager = viewPager;
    mViewPager.addOnPageChangeListener(mOnPageChangeListener);
    addOnTabSelectedListener(mOnTabSelectedListener);
    getTabAt(0).select();
}
项目:javaide    文件:ArrayPagerAdapter.java   
@Override
public int getItemPosition(Object o) {
    Integer result = positionDelta.get(o);

    if (result == null) {
        return (PagerAdapter.POSITION_UNCHANGED);
    }

    return (result);
}
项目:MVVM-JueJin    文件:LoopViewPager.java   
@Override
public void setAdapter(PagerAdapter adapter) {
    mAdapter = new LoopPagerAdapterWrapper(adapter);
    mAdapter.setBoundaryCaching(mBoundaryCaching);
    super.setAdapter(mAdapter);
    setCurrentItem(0, false);
}
项目:JazzyViewPager    文件:JazzyViewPager.java   
public View findViewFromObject(int position) {
    Object o = mObjs.get(Integer.valueOf(position));
    if (o == null) {
        return null;
    }
    PagerAdapter a = getAdapter();
    View v;
    for (int i = 0; i < getChildCount(); i++) {
        v = getChildAt(i);
        if (a.isViewFromObject(v, o))
            return v;
    }
    return null;
}
项目:MobileMedia    文件:UnderLinePageIndicator.java   
public void notifyDataSetChanged() {
       Logger.d("notify data set change");
    mTabLayout.removeAllViews();
    PagerAdapter adapter = mViewPager.getAdapter();
    IconPagerAdapter iconAdapter = null;
    if (adapter instanceof IconPagerAdapter) {
        iconAdapter = (IconPagerAdapter) adapter;
    }
    final int count = adapter.getCount();
    for (int i = 0; i < count; i++) {
        CharSequence title = adapter.getPageTitle(i);
        if (title == null) {
            title = EMPTY_TITLE;
        }
        int iconResId = 0;
        boolean useStroke = false;
        if (iconAdapter != null) {
            iconResId = iconAdapter.getIconResId(i);
            useStroke = iconAdapter.useStroke(i);
        }
        addTab(i, title, iconResId, useStroke);
    }
    if (mSelectedTabIndex > count) {
        mSelectedTabIndex = count - 1;
    }
    setCurrentItem(mSelectedTabIndex);
    requestLayout();
}