首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >片段页面适配器-只调用一次获取项

片段页面适配器-只调用一次获取项
EN

Stack Overflow用户
提问于 2015-07-03 16:36:16
回答 1查看 552关注 0票数 0

我在应用程序中设置了选项卡。我使用列表视图片段,每个片段执行一个调用来提取数据。

如下所示:

代码语言:javascript
复制
   public Fragment getItem(int position) {
            switch (position) {
            case 0: 
                return FirstFragment.newInstance();
            case 1: 
                return FirstFragment.newInstance();
            case 2: 
                return SecondFragment.newInstance();
            default:
                return null;
            }
        }

它运行得很好,但是我不希望每次访问选项卡时都会发生调用,这只是第一次。

做这件事的正确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-03 17:35:28

您可以在构造函数的某个地方实例化这些片段,然后在getView(...)中传递对它的引用。

下面是一个例子:

代码语言:javascript
复制
public class YourPagerAdapter extends FragmentPagerAdapter {

    YourFragment fragment1, fragment2, fragment3;

    public YourPagerAdapter() {
        fragment1 = YourFragment.newInstance();
        fragment2 = YourFragment.newInstance();
        fragment3 = YourFragment.newInstance();
        ...
    }

    public Fragment getItem(int position) {
        switch (position) {
        case 0: 
            return fragment1;
        case 1: 
            return fragment2;
        case 2: 
            return fragment3;
        default:
            return null;
        }
    }

    ...

}

这样,当您创建适配器时,您的片段只会被实例化一次。

更好的方法是将这些片段封装在一个List中。这样,您就可以将getItem(int position)简化为return mFragments.get(position)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31211144

复制
相关文章

相似问题

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