ViewPager中的过时方法和循环的实现
来源:互联网 发布:手机连发软件 编辑:程序博客网 时间:2024/06/16 22:37
@Overridepublic void destroyItem(View container, int position, Object object) {}@Overridepublic Object instantiateItem(View container, int position) {}
这两个是过时的方法。
@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {}@Overridepublic Object instantiateItem(ViewGroup container, int position) {}
方式(一)
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="${relativePackage}.${activityClass}"> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginTop="16dp" android:layout_weight="1"/></LinearLayout>
public class PagerActivityV4ViewPager extends FragmentActivity { private TextView[] mTextViews; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_pager); final android.support.v4.view.ViewPager pager = (android.support.v4.view.ViewPager) findViewById(R.id.pager); final MyAdapter adapter = new MyAdapter(); pager.setAdapter(adapter); // 为了左右可以循环 pager.setCurrentItem(Integer.MAX_VALUE / 2); mTextViews = new TextView[5]; for(int i=0; i< mTextViews.length; i++){ TextView textView = new TextView(this); textView.setGravity(Gravity.CENTER); textView.setTextSize(20); textView.setText("data" + i); mTextViews[i] = textView; } } public class MyAdapter extends android.support.v4.view.PagerAdapter { @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public void destroyItem(View container, int position, Object object) { ((android.support.v4.view.ViewPager) container).removeView(mTextViews[position % mTextViews.length]); } @Override public Object instantiateItem(View container, int position) { ((android.support.v4.view.ViewPager) container).addView(mTextViews[position % mTextViews.length], 0); return mTextViews[position % mTextViews.length]; } }}
方式(二)
http://flyingcat2013.blog.51cto.com/7061638/1575015
Android使用ViewPager实现左右循环滑动及轮播效果
private class ImageAdapter extends PagerAdapter{ private ArrayList<ImageView> viewlist; public ImageAdapter(ArrayList<ImageView> viewlist) { this.viewlist = viewlist; } @Override public int getCount() { //设置成最大,使用户看不到边界 return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0==arg1; } @Override public void destroyItem(ViewGroup container, int position, Object object) { //Warning:不要在这里调用removeView } @Override public Object instantiateItem(ViewGroup container, int position) { //对ViewPager页号求模取出View列表中要显示的项 position %= viewlist.size(); if (position<0){ position = viewlist.size()+position; } ImageView view = viewlist.get(position); //如果View已经在之前添加到了一个父组件,则必须先remove,否则会抛出IllegalStateException。 ViewParent vp =view.getParent(); if (vp!=null){ ViewGroup parent = (ViewGroup)vp; parent.removeView(view); } container.addView(view); //add listeners here if necessary return view; } }
0 0
- ViewPager中的过时方法和循环的实现
- ViewPager过时方法的替代
- 循环 ViewPager 的两种实现方法
- ViewPager的setOnPageChangeListener过时。
- ViewPager 实现左右循环滑动图片的两种方法
- ViewPager实现无限循环的2种方法
- viewpager的无限循环方法
- JTextPassword中的getText()方法过时的问题
- ViewPager实现图片的自动轮播和无限循环
- Android中ViewPager无限循环实现方法
- Android viewPager.setOnPageChangeListener()方法过时怎么办
- 已过时的方法
- Thread中的stop方法过时
- 无限循环的轮播图ViewPager实现
- android的ViewPager实现伪循环效果
- 实现ViewPager的左右循环滑动
- 实现ViewPager无限循环的方式一
- 实现ViewPager无限循环的方式二
- 手把手教你做三级联动
- 维护篇(5.2)-07. 调整DHCP租约时间 ❀ 飞塔 (Fortinet) 防火墙
- Hint 强制使用索引有时失灵?
- CUDA 7.5 不支持GCC4.7及以上的版本
- Android Activity生命周期(二)
- ViewPager中的过时方法和循环的实现
- socket编程总结(七)int socket/connect()/send()/recv()/close()/shutdown()/recvfrom
- eclipse package,source folder,folder区别及相互转换
- Android Studio出现:Your project path contains non-ASCII characters.....
- html5常用js简介之二
- 家用监控系统
- Android Studio 之aar
- css--伪类:first-child
- jQuery.extend 函数详解