一、效果展示

二、前期准备

1.创建Fragment类

2.进入Fragment自动生成的布局文件设置布局

3.在Fragment类中初始化控件

public class Fragment1 extends Fragment {private Button mBtn;private TextView mTextView;private EditText mEt;private View view;public Fragment1() {// Required empty public constructor}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {view = inflater.inflate(R.layout.fragment_fragment1, container, false);initView();return view;}private void initView() {mBtn = view.findViewById(R.id.button_fragment1);mEt = view.findViewById(R.id.editText_fragment1);mTextView = view.findViewById(R.id.textView_fragment1);}
}

4.创建Fragment页面适配器

public class FragAdapter extends FragmentPagerAdapter {//fragment集合private List<Fragment> fragmentList;//Fragment页面适配器构造函数//参数1:传入Fragment管家//参数2:传入放置Fragment的集合public FragAdapter(FragmentManager fm, List<Fragment> fragmentList) {super(fm);this.fragmentList = fragmentList;}@Overridepublic Fragment getItem(int position) {//返回当前position的Fragmentreturn fragmentList.get(position);}@Overridepublic int getCount() {//返回Fragment的数量return fragmentList.size();}
}

要点:

  • 建立存放Fragment的集合
  • 创建构造器,参数1:Fragment管家,参数2:Fragment集合
  • 重写getItem()和getCount()方法

三、实现Fragment在ViewPager中滑动

public class MainActivity extends AppCompatActivity {private ViewPager viewPager;private Fragment fragment1, fragment2, fragment3;private List<Fragment> fragmentList;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//初始化控件initView();}private void initView() {viewPager = findViewById(R.id.viewPager);fragment1 = new Fragment1();fragment2 = new Fragment2();fragment3 = new Fragment3();//为ViewPager设置适配器setAdapter();}private void setAdapter() {fragmentList = new ArrayList<>();fragmentList.add(fragment1);fragmentList.add(fragment2);fragmentList.add(fragment3);//建立Fragment页面适配器对象FragAdapter adapter = new FragAdapter(getSupportFragmentManager(), fragmentList);//给viewPager设置上适配器viewPager.setAdapter(adapter);}
}

实现大致步骤:

  • 建立Fragment页面适配器对象
  • 为ViewPager设置适配器

实现Fragment在ViewPager中滑动相关推荐

  1. TabLayout让Fragment在ViewPager中的滑动切换更优雅

    TabLayout让Fragment在ViewPager中的滑动切换更优雅 转载于:https://www.cnblogs.com/zhujiabin/p/7382500.html

  2. android tab pageview,Android Fragment在ViewPager中到底经历了什么?

    2017年05月30 最后的懒加载写的不好,推荐请叫我大苏同学写的Fragment懒加载博客, [Android]再来一篇Fragment的懒加载(只加载一次哦) 在大苏同学的博客评论里,看到了另一个 ...

  3. Fragment在ViewPager中的生命周期

    转载自 hdszlk的博客     原文链接:https://www.2cto.com/kf/201607/530540.html 1.一直以来的疑问 Fragment在ViewPager到底经历了哪 ...

  4. android listview动态添加viewpager,向 ViewPager 中添加 包含 ListView 的 Fragment

    对与fragment就不说什么了,直接看API手册吧,亲. 向 ViewPager 中添加 包含 ListView 的 Fragment 的过程比较麻烦.他所表现的效果就是新闻客户端的滑动翻页效果. ...

  5. viewpager初始化fragment没有绘制_Fragment在ViewPager中的正确应用(3)FragmentStatePagerAdapter优化了什么...

    前言 Fragment在ViewPager中的正确应用(2)内存泄漏?内存溢出 错误终结者:Fragment在ViewPager中的正确应用 OK,填坑篇的文章来了. 当我打开官方文档准备开始了解Fr ...

  6. android viewpager 嵌套fragment,Android ViewPager+Fragment多层嵌套(使用问题处理)

    之前写了Android ViewPager+Fragment(使用问题处理),封装了一个BaseFragment,对于简单使用ViewPager+Fragment而言,是没有问题的. 不过,ViewP ...

  7. ViewPager中Fragment的生命周期和FragmentPageAdapter与FragmentStatePageAdapter对其的影响

    首先,我们创建一个Activity和一个Fragment,并在Fragment的各个生命周期打好日志,并把Fragments丢进Viewpager,这里我们往Viewpager里丢了3个Fragmen ...

  8. Android 应用开发---ViewPager---5.使用Fragment实现ViewPager滑动

    ViewPager 详解(五)-----使用Fragment实现ViewPager滑动 在第一个页面加一个Btn                                          第一 ...

  9. android viewpager fragment 生命周期,ViewPager中Fragment的生命周期

    网上有很多Fragment生命周期的帖子,但是看了一下,没有找到自己想了解的东西,于是决定自己动手体验一下这个生命周期.主要想了解以下几个问题: Activity中的Fragment的生命周期 Vie ...

最新文章

  1. 苹果竟放出“流氓” APP
  2. Node.js技术手册
  3. go语言中fallthrough与break的使用
  4. 1小时学会建站(二):购买及绑定域名
  5. Linux 中的文件锁
  6. 宝塔更换域名_阿里云如何建站、域名、搭建网站?
  7. 使用VS Code开发调试.NET Core 多项目
  8. 华为笔记本Win11更新时由于驱动问题引起蓝牙鼠标经常断开问题解决方法
  9. Android官方开发文档Training系列课程中文版:分享简单数据之从其它APP接收简单数据
  10. oxm java_使用JAXB2.0实现OXM
  11. VMWare安装64位XP中文教程
  12. Thief-Book 上班摸鱼神器
  13. 计算机基础知识教程excel函数计算,计算机基础知识:Excel中的函数操作(四)...
  14. 合振动的初相位推导_两个同方向、同频率的简谐振动表达式为和,试求它们的合振动的振幅和初相位。...
  15. 每周推荐短视频:谈论“元宇宙”要有严肃认真的态度
  16. Orcal数据库中ORA-01861: 文字与格式字符串不匹配
  17. MySQL 与 PostgreSQL 比较,哪个更好、我们该选用哪个?
  18. 从腾讯的职级系统,看清自己的职场宿命(转载)
  19. “五•一”黄金周市民旅游指南
  20. 支付宝老兵的创业心得

热门文章

  1. Centos 7 环境下,如何使用 Apache 实现 SSL 虚拟主机 双向认证 的详细教程:
  2. mngoDB 常用语法
  3. IOS 预览pdf,word文档的集中方式
  4. android app resign之后安装提示INSTALL_PARSE_FAILED_NO_CERTIFICATES的解决办法
  5. Unity2D 入门教程
  6. Linux 切换到 root 用户后没有颜色
  7. Nosql进阶笔记之redis MongoDB
  8. python读取文件时提示“UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xad in position 1264: illegal multi
  9. FineReport性能调优的一些办法
  10. set/multiset容器