首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示碎片实例编号时出现问题

显示碎片实例编号时出现问题
EN

Stack Overflow用户
提问于 2016-10-08 22:49:09
回答 2查看 38关注 0票数 0

我一直在关注这个教程:关于如何使用fragmentstatepageradapters的https://developer.android.com/reference/android/support/v4/app/FragmentStatePagerAdapter.html。它工作得很好,但我似乎无法使用ArrayListFragment的实例号。在本教程中,有一段代码将实例编号显示为标题:

代码语言:javascript
复制
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_pager_list, container, false);
        View tv = v.findViewById(R.id.text);
        ((TextView)tv).setText("Fragment #" + mNum);
...

当我启动应用程序时,第一个屏幕显示片段0。当我滑动到下一个屏幕时,它会显示片段1,依此类推。但是当我添加这个的时候:

Log.i("instancenumber", Integer.toString(mNum));

就在((TextView)tv)...下方,日志显示

instancenumber 0

instancenumber 1

就在我启动应用程序的时候,我甚至还没有触摸任何东西,当我向右滑动时,它会切换到2,当我滑动到最后一个时,它不会记录任何东西,不知何故,向后也不会正确更新。

我猜我既没有正确理解实例数量的概念,也没有正确理解onCreateView方法。如何获取正确的实例编号?它似乎适用于文本视图。

提前谢谢你,

哈切尔

PS: context:我需要这个数字,因为我有一个mp3播放器,我想让它播放得更快(播放速度通过增加实例数来计算),并且当我滑动到下一个屏幕时,我还会显示一个新的图像

EN

回答 2

Stack Overflow用户

发布于 2016-10-08 22:57:01

FragmentStatePagerAdapter总是创建当前视图和下一个视图,所以即使只显示第一个视图,它也会调用onCreateView到第一个视图和下一个视图。

它这样做是为了提高性能,当你滚动到下一个视图时,视图已经创建好了,Android可以正确地显示它。当您滚动到第二个视图时,将调用第三个视图的onCreateView

您可以使用setOffscreenPageLimit设置PagerAdapter将在内存中保留多少碎片,在此问题中有更多信息:ViewPager FragmentStatePagerAdapter keep more than three fragments in memory

票数 0
EN

Stack Overflow用户

发布于 2016-10-09 22:12:27

在jonathanrz的帮助下,我设法让它像这样工作:

代码语言:javascript
复制
mPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            public void onPageScrollStateChanged(int state) {}
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}

            public void onPageSelected(int position) {
                Log.i("int", Integer.toString(mPager.getCurrentItem()));
            }
        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39933766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档