栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

安卓學習記錄-11-使用ViewPager

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

安卓學習記錄-11-使用ViewPager

ViewPager的效果:可以实现多页面左右滑动。

简单分析:

①左右滑动生成的每个页面,其实是生成的每个Fragment。因此ViewPager组件的adapter控制器实例需要绑定一个fragmentmanager来管理Fragment的生成。

②类似前面学的RecycleListView,需要实现一些内部机制。ViewPager需要覆盖方法getItem(int positon)和getCount()。

③ViewPager既然是多页面滑动,就有初始页面是哪个的问题。可以通过ViewPager.setCurrentItem(int i)来指定。

④有①知道,ViewPager可以容纳Fragment。类比前面学的,ViewPager组件可以放在activity视图中。

代码实现:

①组件布局

 

②组件实例化

private ViewPager mViewPager;
mViewPager = (ViewPager) findViewById(R.id.activity_crime_pager_view_pager);

③设置adapter

        FragmentManager fm = getSupportFragmentManager();
        mViewPager.setAdapter(new FragmentStatePagerAdapter(fm) {
            @NonNull
            @Override
            public Fragment getItem(int position) {
                Crime crime = mCrimes.get(position);
                return CrimeFragment.newInstance(crime.getID());
            }
            @Override
            public int getCount() {
                return mCrimes.size();
            }
        });

正如前面所说,设置adapter时绑定了FragmentManager 。

getItem方法:每次滑动时,根据滑动页面的位置返回特定的Fragment实例。

getCout方法:让系统预知要载入多少的页面,大于0才可以正常滑动。

④初始化页面

③中只是覆盖了滑动时会调用的方法,而初始开始ViewPager所在的activity时,初始页面默认为第一张。(显示position = 0时的fragment0对应的视图和数据)。有时需要指定初始ViewPager。

mViewPager.setCurrentItem(i);

这个方法要在③后调用才有效。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/731600.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号