[ViewPager、一]ViewPager和PagerAdapter做动态加载页(类似listView适配根据data新增的效果)

本文介绍如何在Android中使用ViewPager实现动态加载页面,根据接口返回数据确定页数,每次翻页仅更换数据,类似横向ListView的效果。通过自定义PagerAdapter,重写关键方法如getCount、isViewFromObject、destroyItem和instantiateItem,实现动态加载和页面缓存。
摘要由CSDN通过智能技术生成

最近碰到一个比较有意思的需求。

需求场景:

一、需求说明:

根据接口返回数据确定有多少页。样式统一,翻页仅仅改变数据。

类似一个横向的listview。

二、回忆一下常见需求:

平时我们做viewpager都比较固定页,比如传统的三页或者四页。如下图(截取个微信图)。


然而,这种效果基本上都是几页已经确定。

比如微信、通讯录、发现、我,这四页是确定的。

这是正常的也是最常见的需求,无外乎fragment+viewpager+fragmentpageradapter实现。

网上这样的需求应该很多。

实现方法:

一、先新建一个固定的样式:这儿我不多说,直接贴代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:padding="15dp" >

    <TextView
        android:id="@+id/tv3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="最近一周排名"
        android:textColor="@color/color_63"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/report"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tv3"
        android:layout_marginTop="10dp"
        android:text="区域"
        android:textColor="@color/color_66"
        android:textSize="16sp" />

    <TextView
        android:id="@+id/province"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/report"
        android:layout_below="@+id/tv3"
         android:layout_marginTop="10dp"
         android:layout_marginLeft="20dp"
        android:text="默认省份"
        android:textColor="@color/color_66"
        android:textSize="16sp" />

    <TextView
        android:id="@+id/all_people"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/report"
        android:layout_marginTop="10dp"
        android:text="总人数"
        android:textColor&#
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值