使用ViewPager实现页面之间的跳转

Activity代码

public class MainActivity extends AppCompatActivity {
    private List<View> list;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        list= new ArrayList<View>();
        /**
         * 通过view对象作为viewpager的数据源
         */
        View view1=View.inflate(this,R.layout.view1,null);
        View view2=View.inflate(this,R.layout.view2,null);
        View view3=View.inflate(this,R.layout.view3,null);
        View view4=View.inflate(this,R.layout.view4,null);
        list.add(view1);
        list.add(view2);
        list.add(view3);
        list.add(view4);
        //创建pageadapter
        Mypageadapter mypageadapter= new Mypageadapter(list);
        //初始化viewpager
        ViewPager pager= (ViewPager)findViewById(R.id.viewpager);
        //加载适配器
        pager.setAdapter(mypageadapter);

    }
}

总体的思路是创建一个View的list集合,通过inflate方法将页面转化为view,初始化list并添加view为元素,初始化viewpager并加载适配器

pageradapter代码

public class Mypageadapter extends PagerAdapter {
    private List<View> viewList;
    public  Mypageadapter(List<View>viewList){
        this.viewList=viewList;
    }
    //返回页卡的数量
    @Override
    public int getCount() {
        return viewList.size();
    }
    //page是否来自于对象
    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view==object;
    }
    /*
    * 实例化一个页卡
    * */
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        container.addView(viewList.get(position));
        return viewList.get(position);
    }
    //销毁一个页卡
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView(viewList.get(position));

    }
}

继承pageradapter方法,创建一个有参的构造方法,在Activity中调用时将LIstVIew传递进来

除了实现的两个方法之外还要实现一个初始化页卡的方法和另一个销毁页卡的方法

时间: 2024-08-04 03:43:09

使用ViewPager实现页面之间的跳转的相关文章

UINavigation的外观设置和页面之间的跳转

创建导航: 1.创建一个视图控制器的类a 2.在app中引用 3.在app.m中创建a对象 4.创建一个导航视图,并且把a对象作为导航视图的根视图 5.设置window的根视图为导航视图控制器,代码: 6.到a.m文件中给导航设置属性,如:(给导航设置属性大部分都是.navigationItem) 用导航的两个视图之间的跳转: 1.再创建一个视图控制器,在第一个视图控制器还有第二个视图控制器上面都添加一个按钮,来用于页面之间的跳转 2.第一个页面到第二个页面之间的跳转button的方法,代码:(

微信小程序详解——页面之间的跳转方式【路由】和参数传递

微信小程序拥有web网页和Application共同的特征,我们的页面都不是孤立存在的,而是通过和其他页面进行交互,来共同完成系统的功能.今天我们来研究小程序页面之间的跳转方式. 1.先导 在Android中,我们Activity和Fragment都有栈的概念在里面,微信小程序页面也有栈的概念在里面.微信小程序页面跳转有四种方式: 1.wx.navigateTo(OBJECT): 2.wx.redirectTo(OBJECT): 3.wx.switchTab(OBJECT): 4.wx.navi

MVC Html.ActionLink Area 链接中含区域的页面之间的跳转

例如我有一个需求,使用@Html.ActionLink实现不同功能之间的跳转,有部分Control是在Area之下,这种时候我们应该如何实现区域间的跳转呢? 错误用例: <ul class="nav navbar-nav"> <li>@Html.ActionLink("主页", "Index", "Home")</li> <li>@Html.ActionLink("退款

php--tp中页面之间的跳转

__MODULE__   不同控制器之间进行跳转 __APP__  /  __URL__  用的比较多

微信小程序页面之间的跳转

wx.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. OBJECT 参数说明: 参数 类型 必填 说明 url String 是 需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数.参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔:如 'path?key=value&key2=value2' success Function 否 接口调用成功的回调函数 fail Funct

页面之间的跳转问题

新做了一个忘记密码的功能: 分为三个页面,一个是校验用户名手机号的页面,一个修改密码的页面,还有一个修改成功页面 第一个页面有一个按钮是下一步,身份校验成功后,点击下一步,到修改密码页面: 这一步的跳转可以分为 俩种方式做: 第一种:将修改密码和校验身份合并成一个页面,然后通过隐藏和显示div,控制页面显示,点击通过ajax方法,如果校验成功刷新div 第二种:点击下一步后,直接通过表单提交的方式$(form).submit(),form中加上action地址,直接跳转到新页面.需要传一些值到新

iOS 两个页面之间的跳转

-------->-------->-------->-------->-------->-------->-------->   以上完成页面one跳到页面Two  ,之后从页面Two返回页面One -------->-------->-------->-------->

android,两个活动页面之间的跳转

public class Intent1Activity extends Activity { private Button btn = null; private TextView tv = null; //还是用个变量比较好,原因在于你这个页面可能有两个button都是转到别的页面 //回调的时候你必须要根据这个来判断的,直接写数字别人不易理解 private final int REQUEST_CODE = 1; @Override protected void onCreate(Bund

使用Intent实现页面之间的跳转

Intent extends Object implements Parcelable Cloneable 构造方法 Intent() :Intent(Intent o):Intent(Context packageContext, Class<?> cls) Intent(String action):Intent(String action, Uri uri): Intent(String action, Uri uri, Context packageContext, Class<