ViewPager 里面嵌套界面

原创 2016年06月02日 09:28:34

ViewPager 里面存放一个界面的UI,很常见。今天我分享一下我使用方式和思考思路。(这里主讲第二种,第一种网上一大堆。后续会做第一种代码的上传)
思考:
1.ViewPager 是一个控件。需求是要界面来填充。但 ViewPager 可以加载条目数据。所以ViewPager 加载的数据我通过一个集合来维护。
2.结合的泛型又该使用什么呢?这个没有绝对的。我是用过的Fragment,当然还有一种方式。用一个普通类来代表界面。哈哈,想不到吧。其实一说就明白。就是一个普通的java类 作为基类。你需要的界面都去继承这个基类。这个基类有着抽象的初始化View 和 Data 方法。
话不多说。看一眼代码您就豁然开朗啦!2333~~~

ViewPager数据集合:
    arrayList = new ArrayList<>();

    arrayList.add(new OnePagerCaiDetail(this));

    arrayList.add( new TwoPagerCaiDetail(this));

    arrayList.add( new ThreePagerCaiDetail(this));

ViewPager的instantiateItem:

    BasePager basePager = arrayList.get(position);

    return basePager.mRootView;
        不懂的变量,别着急,往下看↓

BasePager: 数据集合的泛型。

public abstract class BasePager {
    public Activity mActivity ;
    public View mRootView ;

    public BasePager(Activity mActivity) {
        this.mActivity = mActivity;
        mRootView = initView();
    }

    public abstract View  initView();

    public abstract  void initData();
}

哈哈,懂了吧。2333~

最后写一下,子类

public class OnePagerCaiDetail extends BasePager {
    public OnePagerCaiDetail(Activity mActivity) {
        super(mActivity);
    }

    @Override
    public View initView() {
        View view = View.inflate(mActivity, R.layout.pager_onepager, null);
        // 这里想怎么写就怎么写
        return view;
    }

    @Override
    public void initData() {

    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

标题栏和导航栏的组合界面实现方法fragment嵌套+viewpager

对于这种界面大家都很熟悉,上面的标题栏滑动或点击的时候可选择不同的界面,下面的导航栏点击可切换不同的界面,这样的效果可以在一个Acitivity里面加载最多的页面: 对于这样的界面如...

tabhost里面嵌套viewpager

  • 2014年07月10日 17:44
  • 1.27MB
  • 下载

PullToRefreshScrollView 嵌套 ViewPager 冲突导致界面不显示的问题

首先说明,我只是转载,但是我觉得这是个大坑,有必要跟大家分享一下: 这里的解决办法也很简单,自定义ViewPager:import android.content.Context; import ...

PhotoView的简单使用(在ViewPager里面的触摸处理)

前言 当对图片进行缩放操作时,会用这个第三方的PhotoView使用之前我们必须添加仓库管理和依赖 Add this in your root build.gradle file (not you...

解决fragment的子fragment中viewpager里面的fragment不销毁 反复创建问题

苦苦研究了很久, 写的广播回调 为什么没用 真的是内存泄露吗? 为什么 destoryItem都不走,又怎么走注销广播的方法,但是非常烦躁,结果 放弃使用广播 实现异步通讯 。用eventbus,但是...

动态修改viewpager里面的fragment(添加和删除)

在使用的时候,viewpager的适配器刚开始是继承FragmentPagerAdapter,getView的写法: @Override public Fragment getItem(int a...
  • xunfan
  • xunfan
  • 2014年12月25日 18:06
  • 6753

仿UC里面Viewpager的Parallax效果

话说昨天下午开会的时候,一不小心用手机登uc看点不良网站,无意间发现在uc头条栏目里面的viewpager滑动的时候界面会出现视差效果。想当初搞了一个RV滑动的时候视差的动画,那ViewPager应该...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ViewPager 里面嵌套界面
举报原因:
原因补充:

(最多只允许输入30个字)