android – FragmentPagerAdapter – 当用户转到新标签时,如何检测到滑动或标签点击?

android – FragmentPagerAdapter – 当用户转到新标签时,如何检测到滑动或标签点击?,第1张

概述我有一个MainActivity,在FragmentPagerAdapter中有三个片段,如下所示.如何查看用户从第一个片段到第二个片段,或从第二个到第三个,通过滑动或点击标签?我看到getItem()方法总是没有被调用,因为我已经声明了mViewPager.setOffscreenPageLimit(2); public class MainThreeTabAdapter extends Fra 我有一个MainActivity,在FragmentPagerAdapter中有三个片段,如下所示.如何查看用户从第一个片段到第二个片段,或从第二个到第三个,通过滑动或点击标签?我看到getItem()方法总是没有被调用,因为我已经声明了mVIEwPager.setoffscreenPagelimit(2);
public class MainThreeTabAdapter extends FragmentPagerAdapter {    private final String[] CONTENT = new String[]{"News","Rewards","Me"};    public MainThreeTabAdapter(FragmentManager fm) {        super(fm);    }    @OverrIDe    public Fragment getItem(int position) {        if (position == 0) {            return NewsFragment.newInstance();        } else if (position == 1) {            return RewardsFragment.newInstance();        } else if (position == 2) {            return MeFragment.newInstance(true,App.getAccountData().getID());        } else {            return null;        }    }    @OverrIDe    public CharSequence getPageTitle(int position) {        return CONTENT[position % CONTENT.length];    }    @OverrIDe    public int getCount() {        return CONTENT.length;    }}

在MainActivity的onCreate()

mainThreeTabAdapter = new MainThreeTabAdapter(getFragmentManager());    // Set up the VIEwPager with the sections adapter.    // this ensures that 2 tabs on each sIDe of current are kept in memory,which is all we need for our case. Default = 1    // this is all taken from the Quickreturn facebook sample app    mVIEwPager.setoffscreenPagelimit(2);    mVIEwPager.setAdapter(mainThreeTabAdapter);
解决方法 仅在创建视图时调用getItem()方法.要理解为什么getItem()不被调用,它有助于了解VIEwPager的默认行为.默认情况下,当您在VIEwPager的特定页面上时,还会创建该特定页面之前和之后的页面.如果你有3个片段被命名,并且按照这个顺序[a,b,c],并且你在第b页,由于VIEwPager的默认行为,a和c将已经通过调用getItem(int ).因为这些片段已经被创建,所以你不会再调用getItem()

另外:这个行为可以用ViewPager.setOffScreenLimit()修改

当用户切换页面时,您实际想要通知的是使用ViewPager.addOnPageChangeListener()OnPageChangeListener设置为VIEwPager,以便在选择页面时收到通知.

总结

以上是内存溢出为你收集整理的android – FragmentPagerAdapter – 当用户转到新标签时,如何检测到滑动或标签点击?全部内容,希望文章能够帮你解决android – FragmentPagerAdapter – 当用户转到新标签时,如何检测到滑动或标签点击?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1131716.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存