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();
}