android动态添加自定义viewpager,ViewPager+Fragment动态增加页面,删除页面

项目中要使用viewPager同时要实现动态增加删除的效果。

首先实现viewPager和fragment的嵌套使用,在google的Android开发文档里有现成的例子:地址如下:

https://developer.android.com/reference/android/support/v4/app/FragmentStatePagerAdapter.html

例子里是固定的10个页面,现在开始实现动态增加页面的功能:(先讲过程代码,最后附完整代码)

1.在调用类里面实现一个Fragment列表用于增加、删除Fragment;

privateArrayList fragments= null;

fragments= newArrayList<>();

2.在列表里面添加几个fragment。其中 ArrayListFragment.newInstance()是自定义的一个framgent类,这句话用于new一个新的实例fragment页面

fragments.add(ArrayListFragment.newInstance(1));fragments.add(ArrayListFragment.newInstance(2));fragments.add(ArrayListFragment.newInstance(3));

3.在自定义的Adaper里面定义保持fragment的list

privateArrayList fragments= null;

同时在构造函数里面添加一个ArrayList 的参数,用于把外面的fragment list 传递进来。

4.在调用类添加俩个函数,分别是添加页面和删除页面:添加和删除的原理是,通过改变list里面的fragment内容,并刷新adaper来实现动态增加,删除的功能

public voidAddFragment() {

fragments.add(ArrayListFragment.newInstance(5));mAdapter.notifyDataSetChanged();}

public voidDelFragment() {

fragments.remove(fragments.size()-1);mAdapter.notifyDataSetChanged();}

5.注意事项,要实现这一的功能需要几个注意事项:

(1)自定义的Adapter 要继承自 FragmentStatePagerAdaper

(2)自定义的Adapter 要重写 getItemPosition 函数:

@OverridepublicintgetItemPosition(Object object) {// TODO Auto-generated method stubreturnPagerAdapter.POSITION_NONE;}

这里是参考了一篇博客的内容:地址如下:

http://blog..net/quanjin24k/article/details/17318151

动手实现了效果,所以总结一下,贴出完整代码,以方便大家快捷的使用:

以下为完整代码:

MainActivity.java

package com.robert.viewpagertest;

import android.content.Context;

import android.os.Bundle;

import

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值