实现Fragment在ViewPager中滑动
一、效果展示
二、前期准备
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中滑动相关推荐
- TabLayout让Fragment在ViewPager中的滑动切换更优雅
TabLayout让Fragment在ViewPager中的滑动切换更优雅 转载于:https://www.cnblogs.com/zhujiabin/p/7382500.html
- android tab pageview,Android Fragment在ViewPager中到底经历了什么?
2017年05月30 最后的懒加载写的不好,推荐请叫我大苏同学写的Fragment懒加载博客, [Android]再来一篇Fragment的懒加载(只加载一次哦) 在大苏同学的博客评论里,看到了另一个 ...
- Fragment在ViewPager中的生命周期
转载自 hdszlk的博客 原文链接:https://www.2cto.com/kf/201607/530540.html 1.一直以来的疑问 Fragment在ViewPager到底经历了哪 ...
- android listview动态添加viewpager,向 ViewPager 中添加 包含 ListView 的 Fragment
对与fragment就不说什么了,直接看API手册吧,亲. 向 ViewPager 中添加 包含 ListView 的 Fragment 的过程比较麻烦.他所表现的效果就是新闻客户端的滑动翻页效果. ...
- viewpager初始化fragment没有绘制_Fragment在ViewPager中的正确应用(3)FragmentStatePagerAdapter优化了什么...
前言 Fragment在ViewPager中的正确应用(2)内存泄漏?内存溢出 错误终结者:Fragment在ViewPager中的正确应用 OK,填坑篇的文章来了. 当我打开官方文档准备开始了解Fr ...
- android viewpager 嵌套fragment,Android ViewPager+Fragment多层嵌套(使用问题处理)
之前写了Android ViewPager+Fragment(使用问题处理),封装了一个BaseFragment,对于简单使用ViewPager+Fragment而言,是没有问题的. 不过,ViewP ...
- ViewPager中Fragment的生命周期和FragmentPageAdapter与FragmentStatePageAdapter对其的影响
首先,我们创建一个Activity和一个Fragment,并在Fragment的各个生命周期打好日志,并把Fragments丢进Viewpager,这里我们往Viewpager里丢了3个Fragmen ...
- Android 应用开发---ViewPager---5.使用Fragment实现ViewPager滑动
ViewPager 详解(五)-----使用Fragment实现ViewPager滑动 在第一个页面加一个Btn 第一 ...
- android viewpager fragment 生命周期,ViewPager中Fragment的生命周期
网上有很多Fragment生命周期的帖子,但是看了一下,没有找到自己想了解的东西,于是决定自己动手体验一下这个生命周期.主要想了解以下几个问题: Activity中的Fragment的生命周期 Vie ...
最新文章
- 苹果竟放出“流氓” APP
- Node.js技术手册
- go语言中fallthrough与break的使用
- 1小时学会建站(二):购买及绑定域名
- Linux 中的文件锁
- 宝塔更换域名_阿里云如何建站、域名、搭建网站?
- 使用VS Code开发调试.NET Core 多项目
- 华为笔记本Win11更新时由于驱动问题引起蓝牙鼠标经常断开问题解决方法
- Android官方开发文档Training系列课程中文版:分享简单数据之从其它APP接收简单数据
- oxm java_使用JAXB2.0实现OXM
- VMWare安装64位XP中文教程
- Thief-Book 上班摸鱼神器
- 计算机基础知识教程excel函数计算,计算机基础知识:Excel中的函数操作(四)...
- 合振动的初相位推导_两个同方向、同频率的简谐振动表达式为和,试求它们的合振动的振幅和初相位。...
- 每周推荐短视频:谈论“元宇宙”要有严肃认真的态度
- Orcal数据库中ORA-01861: 文字与格式字符串不匹配
- MySQL 与 PostgreSQL 比较,哪个更好、我们该选用哪个?
- 从腾讯的职级系统,看清自己的职场宿命(转载)
- “五•一”黄金周市民旅游指南
- 支付宝老兵的创业心得
热门文章
- Centos 7 环境下,如何使用 Apache 实现 SSL 虚拟主机 双向认证 的详细教程:
- mngoDB 常用语法
- IOS 预览pdf,word文档的集中方式
- android app resign之后安装提示INSTALL_PARSE_FAILED_NO_CERTIFICATES的解决办法
- Unity2D 入门教程
- Linux 切换到 root 用户后没有颜色
- Nosql进阶笔记之redis MongoDB
- python读取文件时提示“UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xad in position 1264: illegal multi
- FineReport性能调优的一些办法
- set/multiset容器